Я пробовал несколько разных случаев, и это работает (не будет ссылаться, если вы передадите параметр: if => false, создаст ссылку, если вы передадите: if => true, или если вы не передадите if вариант вообще)
Определите помощника:
def facebox( *args , &block )
if !args.last.is_a?(Hash) || args.last.fetch(:if,true)
link_to *args , &block
else
block.call
end
end
Если у вас есть этот помощник, в любой момент, когда вы захотите использовать метод ссылки на Facebox (который вы могли бы также использовать со всеми специальными аргументами Facebox - этот rel, например, мог бы быть перемещен в помощник для очистки ваш взгляд)
Тогда вы можете сделать это, по вашему мнению:
<% facebox 'http://www.some_weird_link.com' , :id => 'something' , :rel => 'facebox' , :if => (x == 5) do %>
<div>
<!-- Loads of HTML and erb code here which should be shown no matter what condition -->
</div>
<% end %>