【问题标题】:ruby on rails rendering json in js.erbruby on rails 在 js.erb 中渲染 json
【发布时间】:2016-03-07 19:30:59
【问题描述】:
在控制器的创建方法中,我有以下代码:
respond_to do |format|
format.js { render json: { html: render_to_string(partial: '/users/photos/card', object: @photo, as: 'photo') } }
end
效果很好。现在我想在 create.js.erb 中移动它,以便有可能执行添加 js。但是我不知道如何在 create.js.erb 中呈现上面的 json。
知道如何做到这一点。提前致谢!
【问题讨论】:
标签:
javascript
ruby-on-rails
ruby
json
【解决方案1】:
如果我理解正确,那么您想要实现的是能够在 js.erb 视图中访问您的 JSON。为了做到这一点,我过去所做的如下:
在您的 create.js.erb 中:
var yourJSON = JSON.parse("<%= raw(j render :partial => '/users/photos/card', object: @photo, as: 'photo') %>");
在你的控制器中:
respond_to do |format|
format.js # This will render the create.js.erb
format.json { render :partial => '/users/photos/card' } # Leave this one in case you also want to be able to respond to this format i.e: "http://localhost:3000/users/photos/card/id.json"
end
希望这会有所帮助!
P.S:如果您想实现不同的目标,请告诉我。