Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 1.06 KB  |  hits: 11  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Model Association issue in Rails
  2. def index
  3.   if params[:search].present?
  4.     @profiles = Profile.Addresses.near(params[:search], 25, :order => :distance)
  5.     @title = "Therapists Near " + :search
  6.   else
  7.   @profiles = Profile.all
  8.   @title = "Everyone"
  9.   end
  10. end
  11.        
  12. class ProfilesController < ApplicationController
  13.  
  14.   def index
  15.     if params[:search].present?
  16.       addresses = Addresses.near(params[:search], 25, :order => :distance)
  17.       @profiles = Profile.where(:id => addresses.id)
  18.       @title = "Therapists Near " + :search
  19.     else
  20.     @profiles = Profile.all
  21.     @title = "Everyone"
  22.     end
  23.   end
  24.        
  25. class Profile < ActiveRecord::Base
  26.   has_many :addresses, :dependent => :destroy
  27.   accepts_nested_attributes_for :addresses, :reject_if => lambda { |a| a[:street].blank? }, :allow_destroy => true
  28.  
  29. class Address < ActiveRecord::Base
  30.   belongs_to :profile
  31.   geocoded_by :street
  32.   after_validation :geocode, :if => :street_changed?
  33.        
  34. addresses = Address.near(params[:search], 25, :order => :distance)
  35.  
  36. @profiles = addresses.map{ |ad| ad.profile }.uniq unless addresses.nil?