0

在某些情况下,它没有tag像下面这样的参数。
所以我放了 <%= tag + ',' if tag %>,但它得到了这个错误

ActionView::Template::Error(参数数量错误(0 代表 1)):

我该如何解决?

index.html.erb

<%= render 'layouts/social_like', :url => root_url, :title => @title %>

布局/_social_like.html.erb

....
<a href="https://twitter.com/share" class="twitter-share-button" data-lang="en" data-hashtags="<%= tag + ',' if tag %>hash2,hash3,hash4">Tweet</a>
....
4

2 回答 2

1

内联 if 语句在 ERB 中并不能很好地工作(完全?)。您可以使用三元运算来做到这一点:

...data-hashtags='<%= tag ? "#{tag}," : "" %>hash2,hash3,hash4'>
于 2013-01-31T23:49:12.160 回答
0

tag是一种使用一个 arg 的 rails 辅助方法;ruby 认为你试图在没有参数的情况下调用它。重命名您的变量,它应该可以工作。

于 2013-01-31T23:52:58.990 回答