我一直在浏览所有其他问题和答案,但无济于事。
我的表格是这样开始的:
<% @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,但是当我手动设置它时,它似乎没有解决任何问题。我觉得我已经尝试了每一种解决方案——但考虑到它在网站的其他地方也能工作,我很困惑为什么它不能在一个地方工作。(公司已定义 - 在这种情况下它的 id 为 2)。