这是一个典型的link_to_unless
:
<%= link_to_unless(@current_user.nil?, "Reply", { :action => "reply" }) %>
如何用块做同样的事情?
# non-functional
<%= link_to_unless(@current_user.nil?, ..., { :action => "reply" }) do %>
...
<% end %>
答案 0 :(得分:0)
把它放在帮手
中def link_to_unless_with_block condition, uri, &block
link_to_unless condition, capture(&block), uri
end
应该工作..虽然没有经过测试
答案 1 :(得分:0)
link_to_unless
已经接受了一个阻止。但是,您需要传递一个块参数来访问链接标题参数。
link_to_unless(@current_user.nil?, "Name", { :action => "reply" }) do |name|
link_to name, some_path
此时虽然你必须问自己是否更容易做和if / else声明。