0

所以假设我有一个作者模型 Authors has_many Books

出于所有意图和目的,假设我有一个完全随机的控制器,比如带有动作索引的 XYZ。

索引视图 - 显示单个作者(在此示例中很难定义 - 可以说它类似于@author = Author.find(1)

好的,在这里的视图中,我们有一个表单,用于向作者添加新书。

路线看起来像这样:

resources author do
   resources book
end

添加书籍的表单如下所示:

(@book = Book.new)

<%= form_for new_author_book_path(:author, @book) do |reg_form| %>

但是,当我查看 HTML 时,表单显示其发布到action="/XYZ/index"

当我提交表单时,它显然不起作用..

这里到底发生了什么?

4

1 回答 1

2

Your form_for should look more like:

<%= form_for [@author, @book] do |reg_form| %>

Controller:

@author = Author.find(1)
@book = @author.books.build

The new_author_book_path helper is a GET request (i.e. authors/1/books/new)

于 2012-09-23T19:33:58.097 回答