在Script标签中使用ERB和jQuery

时间:2017-01-09 19:50:59

标签: jquery ruby-on-rails

我正在尝试在我的Rails应用程序中的script标记内部执行一些相当简单的jQuery(我知道,糟糕的开发人员,没有cookie,不使用脚本标记)并且在生成erb时遇到问题IDS。我认为我有以下内容:

        <% @clients_with_pricing.each do |client| %>
            <h3 id="client-<%= client.id %>-header"><%= client.first_name %> <%= client.last_name %></h3>
            <div id="client-<%= client.id %>-div">
                <h4><%= client.company_name %></h4>
                <ul>
                    <% client.pricings.each do |pricing| %>
                        <li><%= number_to_currency(pricing.price, precision: 0) %>: <%= pricing.product.name %></li>
                    <% end %>
                </ul>
            </div> <!-- client id div -->
        <% end %>

以下jQuery:

<script type="text/javascript">
    $(document).ready(function() {
        $('.client-<&= client.id %>-header').click(function(){
            $('.client-<&= client.id %>-div').toggleClass('hidden');
        });
    });
</script>

当我查看呈现的HTML时,id正确生成,但jQuery仍然有erb。谁能告诉我这里我做错了什么?

2 个答案:

答案 0 :(得分:2)

ERB的正确语法是<%<%=。将<&=更改为<%=,您应该好好去。

答案 1 :(得分:0)

var name = "<%= j @name %>";