Надеюсь, это будет просто.Но я охотился уже пару часов и не могу заставить это работать.У меня есть пользователи с несколькими адресами, я пытаюсь использовать Geocoder gem для отображения этих пользователей с помощью поиска по почтовому индексу, мой код очень похож на то, что есть в Geocoder Railscast.
Вот моя попытка контроллера 1и возвращает "неопределенный метод` Адреса '"
def index
if params[:search].present?
@profiles = Profile.Addresses.near(params[:search], 25, :order => :distance)
@title = "Therapists Near " + :search
else
@profiles = Profile.all
@title = "Everyone"
end
end
Это попытка номер 2, это возвращает" неинициализированную константу ProfilesController :: Addresses "(я не знаю, будет ли работать бит Profile.where, ноэто даже не доходит до этой части ...)
class ProfilesController < ApplicationController
def index
if params[:search].present?
addresses = Addresses.near(params[:search], 25, :order => :distance)
@profiles = Profile.where(:id => addresses.id)
@title = "Therapists Near " + :search
else
@profiles = Profile.all
@title = "Everyone"
end
end
Вот мои модели:
class Profile < ActiveRecord::Base
has_many :addresses, :dependent => :destroy
accepts_nested_attributes_for :addresses, :reject_if => lambda { |a| a[:street].blank? }, :allow_destroy => true
class Address < ActiveRecord::Base
belongs_to :profile
geocoded_by :street
after_validation :geocode, :if => :street_changed?
Большое спасибо за взгляд!