我是 rails 3 的新手,按照 ruby 站点中的指南,我构建了第一个博客应用程序。
但是在应用程序中,模型“评论”没有编辑/更新/删除操作。
然后我尝试添加它,但我失败了。
我不只是为模型“评论”生成模型,而是使用以下方法为模型“评论”创建脚手架:
rails generate scaffold Comment commenter:string body:text post:references
在 post.show 页面中,我将其修改如下:
<% @post.comments.each do |comment| %>
<tr>
<td><%= comment.commenter %></td>
<td><%= comment.body %></td>
<td><%= link_to 'Edit', edit_comment_path(comment) %></td>
<td><%= link_to 'Destroy', comment, confirm: 'Are you sure?', method: :delete %></td>
</tr>
<% end %>
它们已列出,但是当我单击“编辑”或“删除”链接时,它会尝试跳转到:
http://localhost:3000/comments/1
然后我会得到错误:
No route matches [GET] "/comments/3/edit" or
No route matches [DELETE] "/comments/3"
我现在不知道。
我可以学习任何开箱即用的演示吗?
更新:
在 routes.rb 中:
resources :posts do
resources :comments
end
注:以下内容由本人手动填写。
rails 生成的配置是:
resources :posts
resources :comments
为什么我修改它是在评论构建表单中,post url应该是“/posts/1/comments”来创建新的评论,否则post url将是“/comments”,它不会关联帖子和评论。