Link_to(image_tag ...)在本地工作,但在Heroku部署中中断

时间:2011-06-01 15:20:32

标签: ruby-on-rails ruby ruby-on-rails-3 heroku

非常简单的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 个答案:

答案 0 :(得分:1)

我认为括号正在抛弃你的link_to电话。尝试收紧它:

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

注意:您可能不希望使用<%=h,因为这会逃脱生成链接中的<>

答案 1 :(得分:1)

当你有多个封装的方法调用时,Ruby需要正确的括号,因此它知道哪个参数与哪个方法一致。您可以在没有括号的情况下进行第一次方法调用(在这种情况下为h),但其余的则是必需的。

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