条件链接与回退到另一个元素

时间:2013-03-20 05:32:28

标签: ruby-on-rails ruby

是否存在任何方法,或者是否有任何干净的方法来编写接受块的条件链接方法并且会回退到另一种元素,在块中呈现相同的内容?

让我们说类似......

<%= link_fallback_if condition?, some_path do %>
  <img src="somepicture.png" />
  <p>somelabel</p>
  <p>someanothercontent</p>
<% end %>

如果条件为真,则提供:

<a href="/someaction">
  <img src="somepicture.png" />
  <p>somelabel</p>
  <p>someanothercontent</p>
</a>

..并且会回到:

<div class="disabled">
  <img src="somepicture.png" />
  <p>somelabel</p>
  <p>someanothercontent</p>
</div>

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以编写类似于以下内容的辅助方法:

def link_to_or_div(condition, *args, &block)
  if condition
    link_to(*args, &block)
  else
    content_tag(:div, *args, &block)
  end
end