【发布时间】:2021-01-14 20:13:00
【问题描述】:
这是我的控制器:
def show
@result = {"data"=>{"8"=>{"typeA"=>{"tier"=>[1,2],"message"=>"message"},"typeB"=>"sto"}}}
respond_to do |format|
format.js
end
end
所以在show.js.erb 中我希望能够创建一个JS 对象data 即@result['data']。但它真的不起作用......我似乎能得到最接近的是字符串表示,但是JSON.parse 无法将其转换为 JS 对象,因为所有字符都已编码:
console.log("<%= @result['data'] %>")
var data = JSON.parse("<%= @result['data'] %>")
console.log(data)
ACTUAL OUTPUT
> {"8":{"typeA":{"message":"message","tier":[1,2]},"typeB":"sto"}}
> Uncaught SYntaxError: Unexpected token & in JSON at position 1
DESIRED OUTPUT (for second console.log)
> {"8":{"typeA":{"tier":[1,2],"message":"message"},"typeB":"sto"}}
请注意,我尝试过 @result.to_json,但这没有帮助
【问题讨论】:
标签: javascript ruby-on-rails interpolation