我已经处理了大量的 form_for 嵌套资源问题,但找不到任何适合我的解决方案。我想是时候问一个个性化的问题了。
我有两个模型,工作和问题,工作有_许多问题和问题属于_工作。
我使用脚手架创建控制器和模型,然后将资源嵌套在 routes.rb 中。
root :to => "pages#home"
resources :jobs do
resources :questions
end
get "pages/home"
get "pages/about"
get "pages/contact"
class Job < ActiveRecord::Base
has_many :questions
end
class Question < ActiveRecord::Base
belongs_to :job
end
现在我正在尝试访问“/jobs/1/questions/new”并继续获取
问题中的 NoMethodError#new
我从错误No route matches {:controller=>"questions"}开始,代码是
<%= form_for(@question) do |f| %>
我知道这是错误的,所以我开始尝试其他组合,但都没有奏效。
我试过了
<%= form_for([@job.questions.build ]) do |f| %>
那
<%= form_for([@job, @job.questions.build ]) do |f| %>
那
<%= form_for(@job, @question) do |f| %>
在一堆其他组合中,这些组合不起作用。
这是我的 rake 路线的链接: git clone https://gist.github.com/1032734
任何帮助表示赞赏,如果您需要更多信息,请告诉我,谢谢。