在rails 2.3中将Ruby代码嵌入到javascript中

时间:2013-11-18 12:14:02

标签: javascript ruby-on-rails ruby

我需要在我的java脚本中嵌入ruby代码,但这样做不能在.rhtml文件中使用。我通过以下方式做到这一点。

    function set_default_values(){
        var ele =  <%= @default_values[:release] %> ;
        var elmnt = document.getElementById("release");
        for(var i = 0; i < elmnt.options.length; i++){
          if( elmnt.options[i].value == ele ) {
               elmnt.selectedIndex = i;
               break;
           }
        }
     }

使用某些字符串代替&lt;%= @default_values [:release]%&gt;可以看到预期的行为,任何人都可以告诉我这个问题是什么,或者在rails 2.3中不允许嵌入ruby。

1 个答案:

答案 0 :(得分:0)

Ruby的to_s格式不适用于Javascript。你需要转换它。 JSON是JavaScript的一个子集,因此如果将Ruby对象转换为JSON,则应该在JavaScript中正确解释。

require "json"

...
<%= @default_values[:release].to_json %>
...