Ruby哈希到JavaScript

new*_*_86 16 javascript ruby hash

我有一个Ruby哈希传递给隐藏字段.如何将此哈希提取到我可以使用的JavaScript数组中?我需要在JavaScript中访问键/值对.

Jak*_*mpl 15

使用my_awesome_ruby_hash.to_json然后您可以简单地使用evaljs或使用它parseJSON.您可能需要require 'json'(不在Rails中).


张健健*_*张健健 14

Ruby代码:

state = { 'Waiting' => { name: 'Waiting now', color: 'btn-default' },
'Trying' => { name: 'Trying now', color: 'btn-danger' },
'Answered' => { name: 'Answered now', color: 'btn-success' } }
Run Code Online (Sandbox Code Playgroud)

javascript代码:

var state = JSON.parse('#{raw(state.to_json)}');
Run Code Online (Sandbox Code Playgroud)

  • 请注意,单引号很重要,因为 to_json 方法会创建一个带有嵌入双引号的 JSON 字符串。这是我在我的情况下使用的表单,其中 javascript 位于嵌入式 Ruby 文件 (filename.html.erb) 中:`var data = JSON.parse('<%= raw(@contacts_list.to_json) %>') ;` (5认同)