如何在Coffescript .js.coffee中渲染ruby代码

时间:2014-03-20 07:01:43

标签: javascript jquery ruby-on-rails ruby coffeescript

点击选择列表时我尝试渲染部分。

为什么这会导致部分文件没有问题:

users / index.html:

 <%= select_tag :priority, options_for_select([['low'],
                                               ['normal'],
                                               ['high'],
                                               ['critical']]),             
                data: {form: escape_javascript(render(:partial => "my_partial_file"))}

 %>

<div id="div_teste">
    CHANGE IT!
</div>

assets / javascript / user.js:

$ ->
    $('#priority').change ->
        $('#div_test').html($('#priority').data('form'))

但如果我尝试这段代码:

$ ->
    $('#priority').change ->
        my_data = "<%= j render my_partial_file %>"
        $('#div_test').html(my_data)

它只渲染纯文本而不是部分文件:

&lt;%= j渲染my_partial_file%&gt;

1 个答案:

答案 0 :(得分:2)

您的索引页面随每个页面请求呈现。您的资产可能会提前一次呈现。将请求数据放入资产是没有意义的。

如果您想将应用中的数据输入预处理的咖啡/ javascript,请使用data attributes

这里是RailsCast on the topic