非常简单的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))...
是什么给出的?有任何想法吗?
谢谢!
答案 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) %>