如何让form_for为嵌套资源工作 - 稍微扭曲一下

时间:2011-01-11 06:37:33

标签: ruby-on-rails-3 form-for nested-resources

我希望在自己的表单上添加/编辑子模型,而不是在父表单中。

我看到的任何一个例子都是在父母的同一表格上添加了孩子。由于我在单独的表单上添加添加/编辑的扭曲,我想知道这是否是我收到以下错误的原因:

未定义的方法`chapters_path' ...

routes.rb中:

resources :books do
  resources :chapters
end

book.rb:

has_many :chapters

chapter.rb

belongs_to :book

_form.html.erb:

<% form_for [@book, @chapter] do |f| %>

我认为我仍然需要使用嵌套资源方法,因为我想要添加一个url,例如books / 1 / chapter / new - 因为那将是正确的rails方法,不是吗?或者我正在以错误的方式看待它。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

好的 - 我已经有了它 - 如果有人有兴趣,这里有调整:

的routes.rb

resources :chapters, :only => [:destroy, :update]
resources :books do
  resources :chapters, :only => [:create, :edit, :index, :new, :show]
end

章节控制器中的一些重定向也需要进行调整