假设我有一个作者模型书籍has_many作者
出于所有意图和目的,假设我有一个完全随机的控制器,例如带有操作索引的 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"
当我提交表格时,它显然不起作用。
这到底是怎么回事?
您的form_for
应该更像:
<%= form_for [@author, @book] do |reg_form| %>
控制器:
@author = Author.find(1)
@book = @author.books.build
new_author_book_path
助手是一个 GET 请求(即作者/1/books/new)