2009-04-17 1 views
3

私は私のアプリで設定した次のルーティングを(フォームがサイトに属している)している。しかし奇妙なRailsのルーティング動作:ネストされたリソースの中を入れ替え2つのID

map.resources :sites do |site| 
site.resources :forms 
end 

、私は道に行くことにしてみてください編集のために(または、そのような)ヘルパーを使用して、フォームのために(例えば

edit_site_form_path(form) 

または

<%= link_to 'Show', [:site, form] %> 

私のURLが来ています(/ sites/5/forms/1)に置き換えられます(5はフォームID、1はサイトIDです)。これはpage/sites/1からのものです。

ヘルプ(?)

答えて

4

edit_site_form_path方法は、2つのパラメータ、SITE_IDとform_idを持っている必要があります。したがって、あなたの例では、form_idを渡すだけです。最初のパラメータは、このモデルでは最初にモデルが最初に来るもので、この場合はsiteです。 2番目のパラメータはform_idです。

刷新パス法は

+0

ビンゴ(あなたがモデルFormbelongs_to :site持っていると仮定して)この

edit_site_form_path(form.site, form) 

のように見えるかもしれません - 私は思う私はあなたを愛して、これは私にナットを駆動されました。) –

関連する問題