ruby-on-rails - Rails JSON 注入(inject)

标签 ruby-on-rails json

在 Rails 2.3 中,我一直使用

render :json => { :success => true, :data => @foobar}

将 JSON 数据发送到我的前端。在 Rails 3 我正在使用
respond_to :json
...
respond_with @foobar

但我缺少的是:我需要 JSON 结构中的“成功”值。在 Rails 3 中将此类数据注入(inject) JSON 响应的正确方法是什么?

嗯,我也试过了,结果出现以下错误:
SyntaxError (app/controllers/properties_controller.rb:13: syntax error, unexpected tASSOC, expecting '}'
respond_with { :success => true, :data => @property }
                          ^
/app/controllers/properties_controller.rb:13: Can't assign to true
respond_with { :success => true, :data => @property }
                                ^
app/controllers/properties_controller.rb:13: syntax error, unexpected tASSOC, expecting tCOLON2 or '[' or '.'
respond_with { :success => true, :data => @property }

最佳答案

当事情不符合默认值时,您需要回到以前的自定义方式。respond_with接受一个 block 。

respond_with @foobar do |format|
  format.json { render :json => { :success => true, :data => @foobar} }
end

关于ruby-on-rails - Rails JSON 注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3985368/

相关文章:

ruby-on-rails - RSPEC 能否处理 90% 通过就足够好的阈值测试?

java - 使用类名作为 JSON Jackson 序列化的根键

javascript - 使用 Windows 脚本宿主将 json 字符串写入文件

javascript - 如何使用 jQuery 将对象解析为 JSON?

ruby-on-rails - Ember-CLI:应用路径在哪里?

ruby-on-rails - 未定义方法 `path' 为 nil :NilClass when trying CSV import

javascript - 通过 mongoid Rails 执行 mongodb 脚本

ruby-on-rails - 日志中未过滤密码

javascript - 将 json 响应转换为 javascript 数组

javascript - 通过 JSON 发送 64 位值的公认方式是什么?