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

时间:2012-09-23 18:55:59

标签: ruby-on-rails ruby ruby-on-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"

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

这里到底发生了什么?

1 个答案:

答案 0 :(得分:2)

您的form_for应该更像:

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

控制器:

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

new_author_book_path帮助者是GET请求(即authors / 1 / books / new)