Как получить идентификаторы из вложенного ресурса? - PullRequest
0 голосов
/ 13 октября 2011

Как получить доступ к идентификаторам из вложенного ресурса? Идентификатор people_id в @peoples=@city.peoples .i не появляется Couldn't find People without an ID. Заранее спасибо.

Модели

    class City < ActiveRecord::Base
    has_many :peoples 
    end

   class People < ActiveRecord::Base
   belongs_to :city
   end 

контроллер

  def show
  @city = City.find(session[:city_id])
  @peoples=@city.peoples
  @people=@peoples.find(params[:id])
  end

маршруты

   resources :city, :people
   resources :cities do
   resources :peoples  
   end 

Ответы [ 2 ]

1 голос
/ 13 октября 2011

Ваше сообщение об ошибке относится к модели Deal, но ваш пример относится к City и дочерним элементам People. В любом случае, каждый экземпляр People в @Peoples (или @city.peoples) должен иметь свой атрибут ID, доступный как id, а не people_id.

0 голосов
/ 13 октября 2011

Я думаю, что ваша проблема проистекает из этой строки

@people = @peoples.find(params[:id])

Вы уверены, что установили params[:id]?Как вы связываетесь с вашим действием show?

Также я не думаю, что вы можете вызвать find для переменной экземпляра @peoples, так как я думаю, что это массив, но я могу ошибаться.

...