[ruby on rails] 跟我学之(9)删除数据

首先需要在index页加个删除链接,并提供一个删除的确认,用户确认删除时,直接删除数据。

修改views

修改 app/views/posts/index.html.erb,如下:

<h1>Our blogs</h1>
<% @posts.each do |post| %>
  <h2><%=link_to post.title,post%></h2>
  <%=post.context%><br/><hr/>
  <p>
        <%= link_to "Update",edit_post_path(post)%>
        <%= link_to "Delete",post, :confirm =>"Are you sure", :method=>:delete %>
  </p>
<% end %>
<p><%= link_to "Add a post", new_post_path %></p>

  

即添加了

 <%= link_to "Delete",post, :confirm =>"Are you sure", :method=>:delete )

 post是要删除的实力变量, :confirm ,确认是否删除, :method  http 请求的方法,这里是delete请求。 详情见 《[ruby on rails] 跟我学之路由映射》

修改action

对于delete请求的action为destroy,修改app/controllers/posts_controller.rb文件的destroy方法,如下:

  def destroy
    @post = Post.find(params[:id])
    @post.destroy
    redirect_to posts_path, :notice=>"Your post has been deleted"
  end

  

运行服务

运行服务时,发现确认框并没有出来(此问题后续会有专题),其他正常。

 转载请注明本文来自:http://www.cnblogs.com/Tommy-Yu/p/4142939.html,谢谢!

原文地址:https://www.cnblogs.com/Tommy-Yu/p/4142939.html