【发布时间】:2011-06-18 02:31:44
【问题描述】:
我已经处理了大量的 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 in Questions#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
感谢任何帮助,如果您需要更多信息,请告诉我,谢谢。
【问题讨论】:
标签: ruby-on-rails form-for nested-resources