在Rails(erb)视图中,我想条件显示一些文本和链接。
有什么比这简单:
<% if some_condition %>
Go to
<%= link_to("Home", root_url) %>
<% else %>
See all
<%= link_to("objects", my_objects_path) %>
<% end %>
我对<%
和<%=
标记的数量感到有些恼火。
答案 0 :(得分:0)
作为帮助者(取决于实际使用情况,它可能是应用程序范围的帮助程序,模型帮助程序等):
def home_or_objects c
if c
link_to "Go to home", root_url
else
link_to "See all objects", my_objects_path
end
end
(我不会只链接一个单词 - 较小的目标,而且IMO不那么沟通.YMMV。)
然后在视图中:
<%= home_or_objects some_condition %>
作为一个部分,它是渲染部分的问题,也许是将条件作为本地传递,或者如果它是一个实例变量,它可以直接引用而不需要传递。
<%= render :partial => 'home_or_objects', :locals => { :c => some_condition } %>
(有一些方法可以处理部分.IMO帮手更合适。)