现在我们准备来完成“D”这一部分,“CRUD”其中的一点,从数据库中删除articles。继续REST这茬儿,对于删除article的路由,只要运行 rake routes 查看其输出内容:
DELETE/articles/:id(.:format) articles#destroy |
delete的路由方法的使用是为了销毁资源。如果这个作为典型的get路由,它可能为了人们生成不清爽的URLs,就像下面这样:
<ahref='http://example.com/articles/1/destroy'>look at this cat!</a> |
我们用方法 delete 来销毁资源,在文件 app/controllers/articles_controller.rb 中这个路由就被映射到destroy的action,也许目前还不存在,但可以加上去:
defdestroy @article= Article.find(params[:id]) @article.destroy
redirect_to articles_path end |
你可以对Active Record对象调用destroy方法,当你想要从数据库中去删除他们。注意,我们不需要去增加一个视图对于这个action,既然我们重新导向至action index。
最后,在你的index action模板上增加一个’Destroy’的链接,(app/views/articles/index.html.erb)形成一个整体的东西。
<h1>Listing Articles</h1> <%= link_to 'New article', new_article_path %> <table> <tr> <th>Title</th> <th>Text</th> <th colspan="3"></th> </tr>
<% @articles.each do |article| %> <tr> <td><%= article.title %></td> <td><%= article.text %></td> <td><%= link_to 'Show', article_path(article) %></td> <td><%= link_to 'Edit', edit_article_path(article) %></td> <td><%= link_to 'Destroy', article_path(article), method: :delete, data: { confirm: 'Are you sure?' } %></td> </tr> <% end %> </table> |
这里我们使用了 link_to 的另外一种方式。我们传入名称的路由,作为第二个参数,然后属性作为另外的参数。属性 :method 和 :’data-confirm’ 已经被作为HTML5的特性了,以致于当链接被点击的时候,Rails会首先弹出确认对话框,然后再提交带有delete方法的链接。这个动作的完成是通过JavaScript文件 jquery_ujs来完成的,当你在生成这个应用程序时,这个文件已经自动包含在你的程序的布局里了(app/views/layouts/application.html.erb)。如果没有这个文件,确认对话框将不会出现。
恭喜你,你现在可以创建,显示,罗列,更新和销毁articles了。
information:一般来说,Rails鼓励使用资源对象,来代替手工声明路由。关于更多的路由信息,可以参考 Rails Routing from the Outside In.
原文 http://guides.rubyonrails.org/getting_started.html#deleting-articles
— end
相关推荐
### Rails 4 in Action, 第二版:关键知识点解析 #### 一、Rails 4简介与新特性 **Rails 4 in Action, 第二版** 是一本深入介绍Ruby on Rails框架的专业书籍。该书由Ryan Bigg、Yehuda Katz、Steve Klabnik和...
### 关于《The Rails 4 Way》的知识点总结 #### 标题:The Rails 4 Way 这本书主要讲述了Ruby on Rails 4版本的核心特性和最佳实践。Ruby on Rails(简称Rails)是一个用Ruby语言编写的开源全栈Web应用框架。本书...
### Rails 4 Test Prescriptions — 构建健康代码库 #### 一、书籍概述与价值 《Rails 4 Test Prescriptions》是一本专注于教授开发者如何为Rails应用编写测试的书籍,作者Noel Rappin凭借多年的经验提炼出了一...
本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是一个强大的、基于模型-视图-控制器(MVC)架构模式的开源Web应用框架,它以Ruby编程语言为基础,强调简洁和生产力...
Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...
### 关于《Crafting Rails 4 Applications》的关键知识点解析 #### 标题解析:Crafting Rails 4 Applications - **Rails 4**:Rails 4是Ruby on Rails框架的一个版本,该版本在2013年发布。Ruby on Rails(简称...
Ruby on Rails 4 Tutorial 是一本深受开发者欢迎的书籍,它详细介绍了如何使用Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的开源框架,以其“约定优于配置”(Convention over ...
Ruby on Rails,通常简称为Rails,是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式。这个“Rails项目源代码”是一个使用Rails构建的图片分享网站的完整源代码,它揭示了如何...
[Pragmatic Bookshelf] Crafting Rails 4 Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Get ready to see Rails as you've never seen it before. Learn how to ...
唔,1分应该还是有人下的吧,共同学习进步,Ruby on Rails is an open source web framework.... "Rails 4 in Action" is a fully-revised second edition of "Rails 3 in Action." This hands-on, compreh...
### Rails 4应用开发知识点概览 #### 一、Rails 4框架介绍 Rails 4是Ruby on Rails(简称Rails)的一个重要版本,它是一种用于Web应用程序开发的模型-视图-控制器(Model-View-Controller,MVC)架构框架。Rails 4...
一本Rails 4开发进阶教程,适合有一定开发经验的Ruby on Rails开发人员阅读
### 关于《The Rails 4 Way》的知识点总结 #### 书籍概述 《The Rails 4 Way》是一本深入探讨Ruby on Rails 4框架特性的专业书籍,由Obie Fernandez、Kevin Faustino和Vitaly Kushner共同撰写。本书旨在为开发者...
Rails 4 Test Prescriptions is a comprehensive guide to how tests can help you design and write better Rails applications. In this completely revised edition, you'll learn why testing works and how to...