如何使用ruby哈希作为javascript函数的选项
我在ruby中有一个hash,它包含我想要为javascript函数输入的选项 我的哈希是(在irb中打印时) 我的javascript函数接受如下选项如何使用ruby哈希作为javascript函数的选项,javascript,ruby-on-rails,ruby,ruby-on-rails-3,hash,Javascript,Ruby On Rails,Ruby,Ruby On Rails 3,Hash,我在ruby中有一个hash,它包含我想要为javascript函数输入的选项 我的哈希是(在irb中打印时) 我的javascript函数接受如下选项 myFunc({source: num, tries: num}) 所以如果在js.erb文件中 myFunc(<%=j @options %>) 执行j@edges.to_json会导致 \"{:source=>\\\"2\\\", :target=&
myFunc({source: num, tries: num})
所以如果在js.erb文件中
myFunc(<%=j @options %>)
执行j@edges.to_json
会导致
\"{:source=>\\\"2\\\", :target=>\\\"3\\\"} }\"
执行j@edges.to_json.html_safe
会导致
\"{:source=>\\\"2\\\", :target=>\\\"3\\\"}\"
有没有办法让它输出一个更为javascript友好的散列?您可以使用
gsub
删除那些不需要的字符:
@options[0].to_json.gsub(/\"/,'')
# => "{source:2,tries:3}"
您可以使用
gsub
删除这些不需要的字符:
@options[0].to_json.gsub(/\"/,'')
# => "{source:2,tries:3}"
不要使用
j
。试一试
myFunc(<%= @options.to_json %>)
myFunc()
不要使用j
。试一试
myFunc(<%= @options.to_json %>)
myFunc()
try@options[0]。若要替换内容,请尝试@options。若要替换内容,请尝试@options。若要替换内容,请尝试@options.to_json.html\u safe