Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails 3 json编码用于javascript中的消费_Ruby On Rails_Json_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails rails 3 json编码用于javascript中的消费

Ruby on rails rails 3 json编码用于javascript中的消费,ruby-on-rails,json,ruby-on-rails-3,Ruby On Rails,Json,Ruby On Rails 3,我知道to_json已经被弃用了,而as_json给我带来了问题 这一行工作正常,但to_json不推荐使用: new IS.Presentation(<%= raw(@course_step.step.step_presentation.step_presentation_files.map { |item| {'url' => item.slide.url, 'title' => item.title}}.to_json) %>) new IS.Presentati

我知道to_json已经被弃用了,而as_json给我带来了问题

这一行工作正常,但to_json不推荐使用:

new IS.Presentation(<%= raw(@course_step.step.step_presentation.step_presentation_files.map { |item| {'url' => item.slide.url, 'title' => item.title}}.to_json) %>)
new IS.Presentation(item.slide.url,'title'=>item.title}}.to_json)%>)

有什么想法吗?

ActiveSupport支持JSON。你可以在这里看到:

ruby-1.9.2-p136 :003 > j = ActiveSupport::JSON
 => ActiveSupport::JSON 
ruby-1.9.2-p136 :004 > j.encode({:team => "Celtics", :players => "20"})
 => "{\"team\":\"Celtics\",\"players\":\"20\"}" 
ruby-1.9.2-p136 :005 > j.decode("{\"team\":\"Celtics\",\"players\":\"20\"}")
 => {"team"=>"Celtics", "players"=>"20"}
因此,对你来说,这将是:

new IS.Presentation(<%= ActiveSupport::JSON.encode(raw(@course_step.step.step_presentation.step_presentation_files.map { |item| {'url' => item.slide.url, 'title' => item.title}})) %>)
new IS.Presentation(item.slide.url,'title'=>item.title}))%>)

谢谢,这很有效:新的IS.Presentation(item.slide.url,'title'=>item.title}))%>)