我一直在經歷所有其他問題和答案無濟於事。導軌3嵌套的路線形成問題
我的形式開始像這樣:
<% @new_article = company.news.new %>
<%= form_for(@new_article, {:url => [company, @new_article]}) do |news_form| %>
的錯誤是這樣的:
Routing Error
No route matches {:action=>"show", :controller=>"news", :company_id=>nil, :id=>2}
耙路線這樣說:
company_news_index GET /companies/:company_id/news(.:format)
{:action=>"index", :controller=>"news"}
POST /companies/:company_id/news(.:format)
{:action=>"create", :controller=>"news"}
new_company_news GET /companies/:company_id/news/new(.:format)
{:action=>"new", :controller=>"news"}
edit_company_news GET /companies/:company_id/news/:id/edit(.:format)
{:action=>"edit", :controller=>"news"}
company_news GET /companies/:company_id/news/:id(.:format)
{:action=>"show", :controller=>"news"}
PUT /companies/:company_id/news/:id(.:format)
{:action=>"update", :controller=>"news"}
DELETE /companies/:company_id/news/:id(.:format)
的問題是,它工作在一個區域我的網站很好。顯然它沒有正確設置company_id,但是當我手動設置它時,它似乎沒有解決任何問題。我覺得我已經嘗試了所有的解決方案 - 但考慮到它可以在網站的其他地方使用,我很困惑它爲什麼不能在一個地方工作。 (公司IS定義 - 在這種情況下它的id是2)。
我很難理解你想做什麼。可能是你應該用'company_news_index_path(company_id:company.id)'和':method'用':post'指定':url'?所以你也可以嘗試'[company,@new_article]'作爲第一個參數。 – tiktak 2012-07-08 00:23:36
嘗試在<%= form_for(@new_article,{:url => [company,@new_article]})中使用company.id do | news_form | %>應該看起來像<%= form_for(@new_article,{:url => [company.id,@new_article]})do | news_form | %> – Raghu 2012-07-08 00:24:30