2012-02-14 20 views
0

下面是一个典型: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

把它放进一个辅助

def link_to_unless_with_block condition, uri, &block 
    link_to_unless condition, capture(&block), uri 
end 

应该工作..虽然没有测试

0

已经接受块。不过,您需要传递块参数才能访问链接标题参数。

link_to_unless(@current_user.nil?, "Name", { :action => "reply" }) do |name| 
    link_to name, some_path 

在这一点上,尽管你必须问自己,这是否容易做和if/else语句。