-2

ネストされたリソースからidsにアクセスするにはどうすればいいですか?@[email protected]にidのpeople_idはありません.iエラーCouldn't find People without an IDがあります。事前におねがいします。ネストされたリソースからidsを取得するにはどうすればよいですか?

モデル

class City < ActiveRecord::Base 
    has_many :peoples 
    end 

    class People < ActiveRecord::Base 
    belongs_to :city 
    end 

コントローラ

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

ルート

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

答えて

1

あなたのエラーメッセージがDealをモデル化するために参照するが、あなたの例では、Cityと子供Peopleを指します。いずれにしても、のインスタンスが@Peoples(または@city.peoples)の場合、ID属性はid - people_idでなくてはなりません。

+0

申し訳ありませんが、コピー貼りのタイプミスです。はい、しかし、物事は、人のインスタンスにIDがないということを意味するIDがない人を見つけることができないと言われています。 – katie

0

私はあなたの問題は、このライン

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

あなたがparams[:id]を設定してもよろしいですから茎と思いますか?どのようにショーアクションにリンクしていますか?

また、インスタンス変数@peoplesが配列であると思うので、findを呼び出すことはできませんが、間違っている可能性があります。

関連する問題