2013-01-31 92 views
0

在某些情况下,它没有tag参数就像下面这样。
所以我把<%=标签+ '' 如果标签%>,但它得到这个错误为什么这个“if语句”在部分中不起作用?

::的ActionView ::模板错误(错误的参数数目(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> 
.... 
+0

@pst它也不能工作。相同的结果:( – MKK

+0

犯规的标签与标签变量冲突轨帮手? [标签助手(http://api.rubyonrails.org/classes/ActionView/Helpers/TagHelper.html#method-i-tag) – bullfrog

+0

我不这样认为,因为我试过'tag_name'太 – MKK

回答

1

内嵌if语句真的不很好地工作(在所有?)在ERB 。您可以使用三元操作做到这一点:

...data-hashtags='<%= tag ? "#{tag}," : "" %>hash2,hash3,hash4'> 
+0

谢谢这工作:) – MKK

0

tag是Rails的辅助方法,它有一个ARG;红宝石认为你正在试图无调用地称之为它。重命名你的变量,它应该工作。

相关问题