就是传参数的时候
本来是这样
=button_to "录入", enroll_report_advs_path, :method => :get
后来就想,传个参数,就是多一个params[:adv]
结果写成
=button_to "录入", :controller=> :report_advs, :action=>:enroll,:adv=> adv_hash, :method => :get
不好用,后来,发现要用put才能传过去
#haml
=button_to "录入", {:controller=> :report_advs, :action=>:enroll,:adv=> adv_hash}, :method => :put
参考:
引用
今天在写rails路由的时候,混了混了,于是做日志以作备忘。
GET字面解释就是获取,向服务器获取资源,服务器会响应你的获取请求。GET提交的数据是放在URL里,目的是灵活的向服务其提交检索请求,可以在地址栏随时修改数据以变更需要获取的内容。
POST是用来提交数据的。提交的数据放在HTTP请求的正文里,目的在于提交数据并用于服务器端的存储,而不允许用户过多的更改相应数据(主要是相对于在url 修改要麻烦很多)。
GET操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。当然,你可能说每浏览一次文章,文章的浏览数就加一,这不也改变了资源的状态么?这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。
PUT,DELETE操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。
POST操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。
安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。
还有一点需要注意的就是,创建操作可以使用POST,也可以使用PUT,区别在于POST 是作用在一个集合资源之上的(/articles),而PUT操作是作用在一个具体资源之上的(/articles/123),再通俗点说,如果URL可以在客户端确定,那么就使用PUT,如果是在服务端确定,那么就使用POST,比如说很多资源使用数据库自增主键作为标识信息,而创建的资源的标识信息到底是什么只能由服务端提供,这个时候就必须使用POST。
给原作者加入链接
http://zshuaibin.blog.com/
分享到:
相关推荐
2. 数据库集成:Rails默认使用ActiveRecord,这是一个ORM(对象关系映射)库,允许开发者用Ruby代码操作数据库,无需编写SQL。在这个在线考试系统中,数据库可能包含试题、答案、考生信息、考试记录等表。 3. ...
Rails API 4.0.0是Ruby on Rails框架的一个版本,专门针对构建应用程序接口(APIs)进行了优化。Ruby on Rails是由David Heinemeier Hansson创建的开源Web应用框架,遵循MVC(模型-视图-控制器)架构模式,以其简洁...
**Rails3**是Ruby on Rails框架的一个重要版本,它对之前的版本进行了大量的改进和优化,使其更加强大和灵活。Rails3的核心设计理念围绕着几个关键的概念,这些概念不仅帮助开发者编写更加简洁高效的代码,还使得...
Rails API 是一个专门为构建应用程序接口(API)设计的Ruby on Rails框架版本。它专注于提供一套轻量级的工具,使得开发者能够快速、高效地创建RESTful API服务。Rails API的目的是为了提高性能,并减小API服务器与...
Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...
Rails 1.0.0是Ruby on Rails框架的一个里程碑版本,发布于2005年12月,它标志着Rails的成熟和广泛应用的开始。Rails是一个基于Ruby编程语言的开源Web应用程序框架,遵循MVC(Model-View-Controller)架构模式,致力...
假设我们需要为一个博客系统开发用户管理的RESTful API,下面是一个简化的例子: 1. **创建模型**:首先定义User模型,包含用户名、密码等属性。 2. **设置路由**:使用Rails的`routes.rb`文件定义对应的路由规则,...
Ruby on Rails,简称Rails,是基于Ruby语言的一个开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发过程更加高效、简洁。本压缩包中的"Ruby on Rails入门经典代码"提供了新手学习...
- **ActiveResource**:这是一个用于客户端访问RESTful服务的库,使得Rails应用能够轻松地与其他RESTful服务进行交互。 总之,REST不仅仅是一种开发风格,更是一种设计理念,它提倡通过标准化的接口来构建灵活、可...
RESTful设计的一个关键特性是使用动词和名词来构建URL。例如,`/users`表示用户资源,而`/users/1`表示ID为1的具体用户。对于CRUD(Create, Read, Update, Delete)操作,Rails提供了如下的默认映射: - GET /users...
Rails中的控制器通过行动(actions)进行工作,每个行动对应一个HTTP请求方法(GET、POST、PUT、DELETE)。 7. **Gemfile和Gem管理** Rails应用依赖于许多外部库,这些库称为Gems。通过`Gemfile`,开发者可以指定...
Rails是Ruby on Rails的简称,它是一个开源的Web应用程序框架,使用Ruby编程语言编写,遵循MVC(模型-视图-控制器)架构模式。"Rails 15分钟博客"是一份教程,旨在引导初学者在15分钟内快速搭建一个基本的博客系统,...
《基于Ruby On Rails的在线购书系统》是一个深入探讨如何利用Ruby on Rails框架构建电子商务平台的项目。Ruby on Rails(RoR)是一个开源的Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,以Ruby编程语言为...
Rails 提供了一个强大的工具,即 scaffold,它可以快速生成一组与模型相关的控制器、视图和数据库迁移文件。这对于快速搭建原型非常有用。例如,如果有一个 `User` 模型,可以运行命令 `rails generate scaffold ...
**Rails环境与配置**章节是本书的一个重要组成部分,主要介绍了Rails 4的应用程序如何设置不同的运行环境以及相关的配置选项。 1. **Bundler(包管理器)** - Bundler是一个用于Ruby项目依赖管理的工具。 - 它...
With the intuitive, straightforward nature of Ruby and the development platform provided by Rails, you can put together full-fledged web applications quickly, even if you're new to web programming. ...
它提供了一个用户友好的界面,允许开发者直接在浏览器中输入请求参数,执行GET、POST、PUT、DELETE等HTTP请求。它显示了API响应的状态码、头部信息以及返回的数据,这有助于快速定位和解决问题。通过这种方式,...
第三章介绍了如何基于 Rails 构建一个真实的 Web 应用程序。这包括了从需求分析到设计、开发、测试和部署的全过程。 - **需求分析**:明确项目的目标和范围。 - **架构设计**:定义应用的架构和模块划分。 - **...
Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率,简化Web应用开发流程。Depot是一个经典的Rails教程示例项目,它展示了如何...
Rails是一个流行的开源Web应用程序框架,基于Ruby编程语言。在Rails应用中实现用户登录和验证是构建任何Web服务的基础。本文将深入探讨Rails中的http_authentication和restful-authentication插件,这两种方法都常...