表单路径未在视图中正确显示定义的路径 - rails 3



假设我有一个作者模型书籍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)

最新更新