Tag: json

Rails使用camelCase呈现json对象

我在一个简单的Rails API中有以下控制器代码: class Api::V1::AccountsController e head :not_found end end end 这个问题是,生成的json具有以下格式: { id:2, name: ‘Simple account’, cash_flows: [ { id: 1, amount: 34.3, description: ‘simple description’ }, { id: 2, amount: 1.12, description: ‘other description’ } ] } 我需要我生成的json是camelCase (’cashFlows’而不是’cash_flows’) 提前致谢!!!

保护AJAX API以防止其他网站利用它

我们目前正在开发一个使用简单JSON API(RoR)填充页面的站点。 数据对客户公开,但对我们的服务至关重要,我们希望确保我们的竞争对手不会泄露我们的数据。 您使用哪些方法来validation对API的AJAX请求是否合法?

从rails日志中过滤部分或全部请求URL

Rails提供filter_parameter_logging来过滤rails日志中的敏感参数。 如果您有一个JSONP API,URL中可能会出现一些敏感信息。 有没有办法从日志中过滤请求URL?

在rails中提供静态JSON目标文件

如何从rails中的文件提供静态JSON对象? (我想在ajax调用中访问它)? 什么是最好的方法?

将Rails JSON变量传递给javascript变量

我的Ruby on Rails控制器中有一个Global JSON变量。 它看起来像@rails_side_json = {:name =>’Will’,:age => 23} .to_json 我希望将其分配给我的javascript变量( var javascript_side_json ),该变量位于我的名为custom.js.erb的javascript文件中 赋值完成后javascript_side_json变量中的值应该等同于我编写var javascript_side_json = {“name”:“Will”,“age”:23}; 我无法通过编写var javascript_side_json = 来实现这一点 我怎样才能做到这一点? 我需要在多个文件中进行更改吗?

rails中的PUT请求不会更新respond_with调用的状态

在rails中给出以下控制器: class AccountsController “Example for this question”, :parameter => 42 } end end 我希望对/ accounts / update /的PUT请求执行以下操作 如果id存在,并且update_attributes调用成功,则传递204 (No Content)成功消息。 (我已经将它设置为返回@account,这将是很好的,但没什么大不了的。这里的204很好。) 如果id存在但数据不正确,则提供422 (Unprocessable Entity)错误消息以及xml / json以表示错误。 如果id不存在,则提供404 (Not Found)错误消息以及xml / json以表示错误。 实际发生的是: 交付204没有身体。 交付204没有身体。 交付204没有身体。 为什么它忽略了我的身份和身体? 我有一个类似的GET请求设置,运行得很好(正确的状态,正确的正文)。 示例CURL请求(对于不存在的ID): PUT请求 curl -i –header“Accept:application / xml”–header“Content-type:application / json”-X PUT -d'{“name”:“whoop”}’http:// localhost:3000 / api /帐号/ 3d2cc5d0653911e2aaadc82a14fffee9 HTTP […]

活动模型序列化器和自定义JSON结构

我正在尝试使用我的API使用Active Model Serializer gem,尽管我正在努力处理我认为非常简单的事情。 我的所有JSON响应都是包装格式,每个响应都有一个顶级消息和状态属性,数据在content属性中。 每个JSON响应都遵循此格式。 例 { ‘status’: statuscode, ‘message’: message, ‘content’: { ‘object’:obj } } “content”属性的内容是我想放置Serializer输出的地方。 我的文章列表等 虽然我无法弄清楚怎么做? 任何帮助将不胜感激。

如何使用active_model_serializers为嵌套对象选择序列化程序

我正在使用rails 4.0.0,我正在寻找一种方法来序列化自定义对象,该对象包含具有这些预定义对象的序列化程序的预定义对象。 示例:我有一个带有序列化程序StudentSerializer的模型Student。 我想渲染一个JSON对象,如下所示: { user_type: “student” student: { id: 1 email: fake@email.com } } 我为Student编写的序列化程序仅序列化了email和id属性。 但是当我打电话时: render json: {user_type=”student”, student: stu} 我得到了具有所有属性的学生的完整对象。 是否可以为JSON resposne中的嵌套对象选择带有active_model_serializers的序列化程序? 一种可能的解决方案可能是编写一个新的序列化程序,它包含我刚才描述的整个对象,并将其用作序列化程序,但我宁愿避免这种情况。

Rails:通过Ajax传递Params

我需要通过javascript将params传递回服务器。 目前,我将它们传递给javascript,如下所示: sendParams(“”); 然后像这样发送回来: function sendParams(q){ $.ajax({ url: ‘/mymodel/myaction’, type: ‘post’, data: {‘q’:q}, contentType: ‘json’ }); } 在我的控制器中,我试着像使用任何其他参数一样使用它们: MyModel.where(params[:q]) 但即使firebug在POST标签中显示了这个内容,params仍然是空的: q=%7B%26quot%3Bc%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Ba%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Bname%26quot%3B%3A%26quot%3Btitle%26quot%3B%7D%7D%2C%26quot%3Bp%26quot%3B%3A%26quot%3Bcont%26quot%3B%2C%26quot%3Bv%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Bvalue%26quot%3B%3A%26quot%3B2%26quot%3B%7D%7D%7D%7D%2C%26quot%3Bs%26quot%3B%3A%7B%26quot%3B0%26quot%3B%3A%7B%26quot%3Bname%26quot%3B%3A%26quot%3Bvotes_popularity%26quot%3B%2C%26quot%3Bdir%26quot%3B%3A%26quot%3Bdesc%26quot%3B%7D%7D%7D 知道为什么这些信息没有被where子句处理? 我该怎么做才能使params Rails再次可读? 更新: Started POST “/publications/search?scroll=active&page=6” for 127.0.0.1 at 2013-0 2-12 22:55:24 -0600 Processing by PublicationsController#index as */* Parameters: {“scroll”=>”active”, “page”=>”6”} 更新2: 问题显然源于contentType 。 当我删除它,然后q作为Rails参数发送。 不幸的是, q仍然是JSON,导致错误: undefined method `with_indifferent_access’ for # 如何将JSON转换为params哈希?

HAML防止模板引擎呈现除HTML之外的任何内容

我正在使用Jbuilder(我也尝试使用Rabl)来渲染json。 当我尝试在我的应用程序中呈现jbuilder模板时,它会在layouts / application文件中呈现模板并将HTML作为JSON返回(请参阅layouts / application’中的行’): 在Github上骑控制器 Started GET “/random_photo.json” Processing by RidesController#random_photo as JSON >> Rendered rides/random_photo.json.jbuilder within layouts/application (0.3ms) Rendered shared/_banners_in_corners.haml (3.0ms) Rendered shared/_sign_in_and_out.haml (2.0ms) Rendered layouts/_navigation.haml (7.3ms) Completed 200 OK in 156ms (Views: 120.7ms | ActiveRecord: 3.1ms) 但是,当我在没有模板的情况下render json: @ride.as_json ,并执行render json: @ride.as_json调用时,事情按预期工作。 当我创建一个新的应用程序并尝试做同样的事情时,一切都按预期工作: Started GET “/posts/1.json” Processing by PostsController#show as JSON […]