2017-01-09 72 views
0

我想在我的Rails應用程序中使用一些相當簡單的jQuery script標籤(我知道,壞的開發人員,沒有cookie,不使用腳本標籤),並且遇到了麻煩erb生成的ID。我有我的看法如下:在jQuery腳本標籤中使用ERB

 <% @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> 

當我看IDS得到正確生成渲染HTML,但jQuery的仍然有它的ERB。任何人都可以告訴我我在這裏做錯了什麼?

回答

2

ERB的正確語法是<%<%=。將<&=更改爲<%=,您應該很好。

+0

好的,我修復了顯而易見的錯字*恥辱*,現在出現控制檯錯誤:'jquery.self-bd7ddd3 ... .js?body = 1:1503未捕獲錯誤:語法錯誤,無法識別的表達式:.client- < &= client.id%> - header' – Liz

+0

嗯,這個代碼是嵌入在你的erb文件中,還是在一個單獨的javascript文件中? – mysmallidea

+0

它在我的html.erb文件中是內聯的。 – Liz