【发布时间】:2012-07-08 06:48:09
【问题描述】:
我的女模特有 cmets 使用 gem 'acts_as_commentable'
当我访问 example.com/girls/show/1
它显示了 ID#1 女孩的个人资料。
所有已发布的 cmets 都显示在本页底部。
对于每个评论行,我想添加删除按钮来删除评论。
如果它应该将参数传递给girls_controller.rb 的comment_destroy 动作。 动作部分和视图应该如何?
下面的代码会导致未定义的局部变量或方法`girls'错误。
"girls/show.html.erb" 视图应该是这样的。只是一部分。
<table>
<tr>
<th>ID</th>
<th>Title</th>
<th>Body</th>
<th>Subject</th>
<th>Delete</th>
</tr>
<% @all_comments.each do |comment| %>
<tr>
<td><%= comment.id %></td>
<td><%= comment.title %></td>
<td><%= comment.body %></td>
<td><%= comment.subject %></td>
<td><%= button_to 'comment_destroy', girls, confirm: 'Are you sure?', :disable_with => 'deleting...', method: :delete %></td>
</tr>
<% end %>
</table>
girls_controller.rb 的 comment_destroy 动作应该是这样的
def comment_destroy
@comment = comment.find(params[:id])
@comment.destroy
respond_to do |format|
format.html { redirect_to girls_url }
format.json { head :ok }
end
redirect_to :controller => 'girls', :action => 'show', :id => params[:girls][:id]
flash[:notice] = "comment deleted!"
end
【问题讨论】:
-
您应该将您的路线添加到您的问题中。但似乎你需要阅读和研究如何处理 CRUD。在 codeschool.com 上查看官方指南、railscast 或 Rails 僵尸课程
-
使用 AJAX 或查看
_destroy"param"。 -
谢谢!!我应该在视图部分添加什么来传递参数???
标签: ruby-on-rails ruby-on-rails-3 view controller parameter-passing