Link_to (image_tag ...) работает локально, но нарушает развертывание Heroku - PullRequest
1 голос
/ 01 июня 2011

довольно простой код ruby ​​прекрасно работает при запуске на localhost, но останавливается при нажатии на heroku.Вот оно:

<ul>
  <% @regulars.each do |r| %>
    <li>
      <%=h link_to (image_tag small_avatar_url(r.user), :class => "u_profile_img_small", :title => r.user.name), r.user %>
    </li>
  <% end %>
</ul>

А вот ошибка в журналах Heroku со ссылкой на строку link_to выше:

ActionView :: Template :: Error (неверное количество аргументов (2 для 1)) ...

Что дает?Есть идеи?

Спасибо!

Ответы [ 2 ]

1 голос
/ 01 июня 2011

Когда у вас есть несколько вызовов инкапсулированных методов, Ruby нужны правильные скобки, чтобы он знал, какие аргументы идут с каким методом. Вы можете иметь первый вызов метода без скобок (в данном случае h), но остальные необходимы.

<%=h link_to(image_tag(small_avatar_url(r.user), :class => "u_profile_img_small", :title => r.user.name), r.user) %>

1 голос
/ 01 июня 2011

Я думаю, что скобки отбрасывают твой link_to звонок. Попробуйте подтянуть его так:

  <%=h link_to(image_tag(small_avatar_url(r.user), :class => "u_profile_img_small", :title => r.user.name), r.user) %>

Примечание. Возможно, вы не захотите использовать <%=h, так как это будет экранировать < и > в созданной вами ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...