`
qw232144
  • 浏览: 35591 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Ruby Controller 的JSON 参数

 
阅读更多

           今天看见他们再用ruby controller写josn参数,自己不会所以就学习一下。

           开发网页服务程序时,你会发现,接收 JSON 格式的参数更容易处理。如果请求的 Content-Type 报头是 application/json,Rails 会自动将其转换成 params Hash,按照常规的方法使用:

例如,如果发送如下的 JSON 格式内容:

{ "company": { "name": "acme", "address": "123 Carrot Street" } }

 

得到的是 params[:company] 就是 { "name" => "acme", "address" => "123 Carrot Street" }。

如果在初始化脚本中开启了 config.wrap_parameters 选项,或者在控制器中调用了 wrap_parameters 方法,可以放心的省去 JSON 格式参数中的根键。Rails 会以控制器名新建一个键,复制参数,将其存入这个键名下。因此,上面的参数可以写成:

{ "name": "acme", "address": "123 Carrot Street" }

 

假设数据传送给 CompaniesController,那么参数会存入 :company 键名下:

{ name: "acme", address: "123 Carrot Street", company: { name: "acme", address: "123 Carrot Street" } }

 

分享到:
评论

相关推荐

    Ruby-Jbuilder通过一个构建式DSL创建JSON结构

    Ruby中的Jbuilder库就是为了方便开发者创建JSON结构而设计的。 Jbuilder是一个Ruby gem,它提供了一个简洁的Domain Specific Language (DSL),让开发者能够通过一种构造式的语法来构建复杂的JSON对象,避免了手动...

    Ruby-ActiveModelSerializer给你带来约定优于配置JSON生成

    最后,`ActiveModel::Serializer` 可以与Rails的`ActionController::Serialization`配合使用,轻松地在控制器中设置默认的序列化器和选项: ```ruby class UsersController def show @user = User.find(params[:...

    使用jsonapi设计的Rails应用程序的基本示例_Ruby_Java.zip

    在这个基本示例中,我们将探讨如何在Ruby on Rails框架中实现JSONAPI,以及如何与Java客户端进行交互。 一、Ruby on Rails与JSONAPI Ruby on Rails 提供了强大的模型-视图-控制器(MVC)架构,使得开发RESTful API...

    Ruby的25个编程细节(技巧、实用代码段)

    ActionController::Routing.generate_best_match = false # Use ISO8601 format for JSON serialized times and dates. ActiveSupport.use_standard_json_time_format = true # Don't escape HTML entities in JSON,...

    ruby on rails for dummies

    书中可能包含如何创建JSON API,以及使用JSON Web Tokens(JWT)进行身份验证的内容。 至于.NET、C#、Java和VB等标签,它们代表了其他编程语言和技术栈,可能在书中作为对比,帮助读者理解Ruby on Rails的独特优势...

    ruby on rails api

    这个CHM文件可能涵盖了以上所有内容的详细说明,包括每个类、模块的方法、参数、返回值和示例用法。开发者可以通过搜索特定的API,了解其功能、用法和注意事项,从而提高开发效率和代码质量。对于Ruby on Rails初学...

    ruby_知识库pdf

    Ruby的方法可以接受可变数量的参数,包括位置参数、默认参数、剩余参数和关键字参数。块、Proc和Lambda则是处理代码块的方式,它们之间有微妙的差异,涉及到上下文、调用规则和返回行为。 变量在Ruby中有四种作用域...

    ruby gems (rails ,padrino, cancan ,puppet)

    `ffi-1.3.1-x86-mingw32.gem`是Foreign Function Interface,允许Ruby调用C库,而`tiny_tds`和`yajl-ruby`则可能是用于特定数据库连接或JSON处理的Gem。 这些Gem共同构成了一个强大的开发环境,涵盖了Web开发、权限...

    Ruby编程语言教学资源压缩包

    7. **Ruby on Rails**:如果压缩包中有相关资源,你还将接触到Ruby的明星框架Rails,学习MVC(模型-视图-控制器)架构、路由、ActiveRecord、ActiveModel、ActiveJob、ActionController和ActionView等核心概念。...

    Ruby On Rails教程

    ### Ruby on Rails 教程知识点概述 #### 一、引言 - **敏捷开发与Rails:** 本书《Ruby on Rails教程》强调了Rails作为敏捷开发框架的优势。它旨在帮助开发者快速构建高质量的Web应用程序。 - **作者团队:** 本书...

    ruby中文文档

    Proc对象可以捕获一个代码块并存储为对象,而Lambda则更像传统的函数,它们在参数数量和返回行为上有着更为严格的规则。 Ruby的标准库非常丰富,提供了大量用于网络通信、文件操作、文本处理等功能的模块。例如,...

    ruby on rails API

    Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web应用开发。API(Application Programming Interface)是Rails提供的一种允许...

    Ruby-技术博客汇总英

    在API中,视图通常被省略,因为数据是以JSON或XML格式直接返回的。 在"engineering-blogs-master"这个目录中,可能包含了一系列关于Ruby和Rails开发的技术博客文章。这些文章可能会涵盖以下话题: 1. **Ruby基础**...

    QCon 2009 beijing全球企业开发大会ppt:14.让Ruby和Rails让Ruby语言融入于Java项目

    Rails 是一个基于 Ruby 的 Web 开发框架,它采用 MVC(Model-View-Controller)架构模式,极大地简化了 Web 应用的开发过程。Rails 的主要特点和优势包括: - **数据库持久性框架**:Rails 提供了一种简单的方式来...

    Ruby on Rails: Up and Running

    Ruby on Rails(简称Rails)是基于Ruby编程语言的一个开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,以生产力和简洁性为设计哲学。 1. **Ruby语言基础**:在深入学习Rails之前,了解Ruby语言的基本...

    使用到json-ruby-v-000

    使用to_json 目标 使用to_json方法将对象呈现为JSON。 说明如何通过同一控制器操作呈现不同的格式。 课 上一次超时时,我们创建了... # posts_controller.rb # ... def post_data post = Post . find ( params [ :id

    Ruby-Review一个易于使用的纸质书和电子书数字出版系统

    Review可能使用特定的数据结构或数据库来存储和检索这些信息,Ruby的YAML或JSON库可以帮助处理这种数据。 6. **模板引擎**:在生成电子书或网页时,可能会用到模板引擎如ERB(Embedded Ruby)或Haml,它们允许...

    ruby on rails 2.3.5 api html版

    6. **ActiveSupport**:这是Rails的一部分,包含大量实用的工具类和方法,如时间/日期处理、JSON解析和编码等。 7. ** erb模板**:Rails默认的视图模板引擎,允许在HTML中嵌入Ruby代码。 8. **Scaffold**:Rails的...

    Ruby-RespondersAsetofRailsresponderstodryupyourapplication

    1. **ActionController::Responder**:这是主要的响应类,它负责根据请求类型(如HTML、JSON、XML等)来决定如何呈现结果,可以自动处理格式化和重定向。 2. **CollectionResponder**:专门用于处理集合响应,例如...

    Ruby on Rails 指南 v5.0.1 中文版

    - **渲染XML和JSON数据**:展示如何生成XML和JSON格式的响应。 - **过滤器**:介绍如何使用过滤器来控制请求的执行流程。 - **请求伪造防护**:解释如何保护应用免受请求伪造攻击。 - **请求和响应对象**:解释Rails...

Global site tag (gtag.js) - Google Analytics