单个页面中的多个form_for

时间:2014-01-16 04:23:13

标签: ruby-on-rails ruby-on-rails-4 html-table form-for

我希望有一个html表,其中每一行都是它自己的形式。

对于模型Post,我将使用@posts = Post.all

在控制器中实例化一个集合

在视图中,我将循环使用.each并为每个实例渲染一个表单(为清晰起见,从erb标记中删除):

<tbody>
  @posts.each do |post|
    <tr>
      form_for(post) do |f|
        <td>f.text_field :title</td>
        <td>f.text_area  :content</td>
        <td>f.submit</td>
      end
    </tr>
  end
</tbody>

虽然没有匹配的路线和“缺少必需的密钥:[:id]”。

,但我收到错误

post不是实例对象,或者我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

missing required keys [:id]向我建议,如果表单的内容或其父级ID,则该表单无法访问>

尝试使用帮助程序明确定义URL。

form_for(post, :url => post_path(post))

或者如果它是嵌套的:

form_for(post, :url => topic_post_path(post.topic, post))