首页 > 代码库 > [ruby on rails] 跟我学之删除数据

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

首先需要在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

  

运行服务

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

 

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