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

相当简单的ruby代码在localhost上运行时运行正常,但在向上推送到heroku时会中断。 这里是:

  • "u_profile_img_small", :title => r.user.name), r.user %>

这是Heroku日志中的错误,指的是上面的link_to行:

ActionView :: Template :: Error(错误的参数个数(2个为1))…

是什么赋予了? 有任何想法吗?

谢谢!

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

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

我认为括号正在抛弃你的link_to调用。 尝试收紧它像这样:

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

注意:您可能不希望使用<%=h ,因为它将在生成的链接中转义<>