2011-01-09 3 views
2

をルーティング:レール:has_manyのと、私は多くの賞</p> <p>だから私はroutes.rbをしてこのような何かを持っている学生作成しようとしています

資源:学生、has_manyの=> [:賞]

そして私は、私が学生のための賞を見たい場合は、これは、このように私のリンクを作るべきだと思う:

はlocalhost:3000 /学生/ 1 /賞

しかし、私はGETTです経路が見つかりませんでした。

私には何が欠けていますか?

答えて

8

あなたは、そのモデルに定義されている、あなたのルートファイル内にhas_manyを定義しない:

#routes.rb 
resources :students do 
    resources :awards 
end 

 

#student.rb 
has_many :awards 

をネストされたルートを作成するとき、あなたはブロックや巣のリソースを形成します上記のように内部。また、追加のルートを定義することができます。

#routes.rb 
resources :students do 
    resources :awards 
    get 'foo' => 'controller#index' # maps to /students/foo 
end 
1
resources :students, :has_many => :awards 

またはより良い

resources :students do 
    resources :awards 
end 

また、端末から「すくいルート」を実行すると、あなたの壊れたルートにあなたを警告しているだろう:)

関連する問題