【问题标题】:Link_to(image_tag ...) works locally but breaks on Heroku deploymentLink_to(image_tag ...) 在本地工作,但在 Heroku 部署时中断
【发布时间】:2011-06-01 15:20:32
【问题描述】:

相当简单的 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))...

什么给了?有任何想法吗?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    当您有多个封装的方法调用时,Ruby 需要正确的括号,以便知道哪个参数与哪个方法一起使用。您可以在没有括号的情况下调用第一个方法(在本例中为h),但其余的都是必需的。

    &lt;%=h link_to(image_tag(small_avatar_url(r.user), :class =&gt; "u_profile_img_small", :title =&gt; r.user.name), r.user) %&gt;

    【讨论】:

      【解决方案2】:

      我认为括号会影响您的 link_to 通话。尝试像这样收紧它:

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

      注意:您可能不想使用&lt;%=h,因为这会在您生成的链接中转义&lt;&gt;

      【讨论】:

      • 收紧括号起作用了。不需要删除
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2020-08-23
      • 1970-01-01
      • 2020-01-09
      • 2023-01-11
      • 1970-01-01
      相关资源
      最近更新 更多