2017-01-09 3 views
0

Я пытаюсь сделать довольно простой jQuery внутри тегов script в моем приложении Rails (я знаю, плохой разработчик, не куки, не используют теги скриптов), и у меня возникают проблемы с erb-генерируемые идентификаторы. У меня есть следующие, на мой взгляд:Использование ERB внутри скриптовых тегов с jQuery

 <% @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 идентификаторы получить сгенерирована правильно, но JQuery до сих пор Еврорадио в нем. Может ли кто-нибудь сказать мне, что я здесь делаю неправильно?

ответ

2

Правильный синтаксис для ERB: <% и <%=. Измените <&= на <%=, и вам должно быть хорошо идти.

+0

Хорошо, я исправил эту очевидную опечатку * стыд *, и теперь я получаю консольную ошибку: 'jquery.self-bd7ddd3 ... .js? Body = 1: 1503. Неиспользуемая ошибка: ошибка синтаксиса, нераспознанное выражение: .client- < & = client.id%> - header' – Liz

+0

Хм, этот код встроен в ваш файл erb или в отдельный файл javascript? – mysmallidea

+0

Это inline в моем файле html.erb. – Liz

Смежные вопросы