Tag: json

New To Rails 3,带有json响应的ajax请求

我有一个名为CourseRequests的控制器,它将接受“new”方法的ajax请求。 既然它将用json响应,我应该使用/course_requests/new.json吗? 我不想为这种愚蠢的json响应制作模板,我该怎么做? respond_to做什么? (我已经看到了它的块样式,我明白了,但是非块样式呢)

Postgres查询包含内容的JSON数组

Postgres有这个JSON数据类型,我想知道如何在JSON数组中查询数据? 我正在使用Postgres 9.3.1 我已插入到PUBLISHER表中,其中包含以下两个字段的名称:string和data:json INSERT INTO PUBLISHER (name, data) VALUES (‘PUB1’, [{“code”:”PA1″,”author”:”James”,”type”:”Novel”},{“code”:”PA2″,”author”:”John”,”type”:”Science”}] INSERT INTO PUBLISHER (name, data) VALUES (‘PUB2’, [{“code”:”PA1″,”author”:”Dickens”,”type”:”Novel”},{“code”:”PA2″,”author”:”Tom”,”type”:”Comic”}] 我想查询并列出“Novel”类型的作者。 在这种情况下,应该是输出的“詹姆斯”和“汤姆”。 这种查询的东西: select name, authorfromdata from publisher where data->type is “Novel”

ActiveSupport :: JSON解码哈希丢失符号

我正在尝试序列化和反序列化哈希。 当散列被去细化时,密钥被去符号化; 例如,不是更多:一个,而不是“一个”。 从rails控制台: >>h = { :one =>1, :two => “two”} {:one=>1, :two=>”two”} >>j = ActiveSupport::JSON.encode(h) “{\”one\”:1,\”two\”:\”two\”}” >>h2 = ActiveSupport::JSON.decode(j) {“one”=>1, “two”=>”two”} >>h2[:one] nil >>h[:one] 1 我现在转而使用Marshal.dump / load。 但是,我想把它扔出去看看是否有办法将它保存在JSON中(仅为了可读性)。

SystemStackError(堆栈级别太深)

我正在开发一个Android应用程序,我需要有关于已保存对象的show视图的json响应。 试着这样,我收到: “SystemStackError (stack level too deep)” app/controllers/segnalaziones_controller.rb:74:in `create’ app/controllers/segnalaziones_controller.rb:58:in `create’ 这是“Segnalazione”控制器 include Gft class SegnalazionesController @segnalaziones } format.json { render :json => @segnalaziones } end end # GET /segnalaziones/1 # GET /segnalaziones/1.xml def show @segnalazione = Segnalazione.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @segnalazione } format.json { render :json […]

Rails escape_javascript通过转义单引号创建无效的JSON

ActionView中的escape_javascript方法将撇号’转义为反斜杠撇号\’ ,在解析为JSON时会出错。 例如,打印时,“我在这里”消息是有效的JSON: {“message”: “I’m here”} 但是, 输出”I\’m here” ,导致无效的JSON: {“message”: “I\’m here”} 是否有补丁来修复此问题,或者在打印到JSON时转义字符串的替代方法?

用json响应时出错406错误

我正试图通过batman-rails gem获得一个使用node.js框架batman.js运行的rails应用程序。 当我在我的rails控制器中使用json进行响应时,每次都会出现406错误,我不知道为什么。 这是我的控制器: respond_to :json def index respond_with Sample.all end 无论如何,这给了我406。 我不认为这与蝙蝠侠有关,而是跟踪自己。 但是好的方法,这是我的蝙蝠侠代码: index: (params) -> TopNavTemplate.Sample.load (err) -> throw err if err @set ‘samples’, TopNavTemplate.Sample.get(‘all’) 然后我的index.html.erb文件简单地说’index’,它实际上并没有用蝙蝠侠做任何事情。 有很多与406 JSON相关的问题,我还没有真正将它们应用到我的情况中。 有没有什么我做错了让rails response_with JSON?

使用AJAX将JSON标记加载到Select2中

好的,所以我使用下面的代码来获取标签列表并将其加载到select2框中。 这些选项作为[“test1″,”test2”] ,它应该是正确的格式,但我假设它们需要以某种方式在循环中处理 。 //This part is meant to grab the options. I am using model ID 473 for testing $(‘#ticket_style_id’).on(“change”, function(e) { var tag_list = $.ajax({ url: “/grab_options/”, async: false }).responseText; //This part is meant to load the tag_list into a select2 box based on the //selection above $(“#ticket_option_list”).select2({ tags: [ tag_list ] }); […]

使用devise进行RESTful登录(Rails 4)

如何使用Ruby on Rails中的设计进行RESTful注册和登录(我使用的是版本4)? 我找不到任何关于我应该POST到服务器的参数(例如电子邮件,密码)的文档。 在当前版本的设计中,似乎不支持使用JSON数据(例如通过AJAX)的RESTful登录 – 默认行为是为任何类型的请求发送回整个HTML页面,而不是JSON对象用于专门处理JSON请求。 这是否意味着我需要创建/扩展自定义控制器以使用JSON处理用户注册和登录RESTful应用程序? 如果是这样,请详细说明。

Rails – 如何接受JSON对象数组

如何在rails站点上接受一组JSON对象? 我发布了类似的东西 {‘team’:{‘name’:’Titans’}} 但是,如果我尝试发布带有对象数组的JSON。 它只保存第一个对象。 {‘team’:[{‘name’:’Titans’},{‘name’:’Dragons’},{‘name’:’Falcons’}]} 我的目标是在1个JSON文件中发送多个“团队”。 我在Rails方面要写什么? 在轨道方面,我有类似的东西 def create @team = Team.new(params[:team]) @team.user_id = current_user.id respond_to do |format| if @team.save format.html { redirect_to(@team, :notice => ‘Team was successfully created.’) } format.json { render :json => @team, :status => :created, :location => @team } else format.html { render :action => “new” } format.json { […]

Rails:从日志中过滤JSON参数中的敏感数据

我正在运行Rails 3并尝试从我们的日志中过滤敏感信息,这些日志是作为post参数传递的JSON blob。 例如,用户创建可能会使用一个名为user的post param,其字符串值是JSON对象。 JSON对象中的一个键是password ,我们希望从日志中过滤掉它。 我发现这样做的最好方法是在filter_params中添加一个块,如下所示: keys_to_filter = [‘password’, ‘password_confirmation’] config.filter_parameters << lambda do |k,v| if v.is_a? String keys_to_filter.each do |key| # Match "key":"”, or “key”:””}, allowing for whitespace v.sub!(/(“\s*#{key}\s*”)\s*:\s*”[^,\}]*”\s*([,\}])/, “\\1:\”[FILTERED]\”\\2”) end end end 这会向filter_params添加一个块,这会导致另一个问题中描述的错误: Rails:ParameterFilter :: compiled_filter尝试重复符号 将块传递给filter_parameters似乎是不安全的,所以我想知道是否有另一种方法可以解决这个问题。