我希望有一个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
不是实例对象,或者我在这里做错了什么?
答案 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))