instance method
link_to_unless
Ruby on Rails 2.2.3
Since v2.2.3Signature
link_to_unless(condition, name, options = {}, html_options = {}, &block)
Creates a link tag of the given name using a URL created by the set of options unless condition is true, in which case only the name is returned. To specialize the default behavior (i.e., show a login link rather than just the plaintext link text), you can pass a block that accepts the name or the full argument list for link_to_unless.
Examples
<%= link_to_unless(@current_user.nil?, "Reply", { :action => "reply" }) %>
# If the user is logged in...
# => <a href="/controller/reply/">Reply</a>
<%=
link_to_unless(@current_user.nil?, "Reply", { :action => "reply" }) do |name|
link_to(name, { :controller => "accounts", :action => "signup" })
end
%>
# If the user is logged in...
# => <a href="/controller/reply/">Reply</a>
# If not...
# => <a href="/accounts/signup">Reply</a>
Parameters
-
conditionreq -
namereq -
optionsopt = {} -
html_optionsopt = {} -
blockblock
Source
# File actionpack/lib/action_view/helpers/url_helper.rb, line 378
def link_to_unless(condition, name, options = {}, html_options = {}, &block)
if condition
if block_given?
block.arity <= 1 ? yield(name) : yield(name, options, html_options)
else
name
end
else
link_to(name, options, html_options)
end
end
Defined in actionpack/lib/action_view/helpers/url_helper.rb line 378
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Helpers::UrlHelper