link_to_unless做

时间:2012-02-14 00:07:53

标签: ruby-on-rails ruby-on-rails-3 link-to

这是一个典型的link_to_unless

<%= link_to_unless(@current_user.nil?, "Reply", { :action => "reply" }) %>

如何用块做同样的事情?

# non-functional
<%= link_to_unless(@current_user.nil?, ..., { :action => "reply" }) do %>
  ...
<% end %>

2 个答案:

答案 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声明。