9

ステートメントがtrueの場合にのみ、 link_toにクラスを追加したいと思います。

<%= link_to product.name, product, :class => "last" if product == @products.last %>

IFステートメントが:class部分だけでなく、行全体に影響を与えるという問題。

IF ELSEで実行できることはわかっていますが、1行で実行できますか?

4

2 に答える 2

21
<%= link_to product.name, product, :class => (product == @products.last ? "last" : "")  %>
于 2012-10-02T21:59:07.687 に答える
3

さて、あなたはヘルパーでこれを抽象化することができます:

def product_link(product)
  if product == @products.last
    link_to product.name, product, :class => "last"
  else
    link_to product.name, product
  end
end

次に、あなたの見解では、あなたはただすることができますproduct_link(product)

更新:またはよりコンパクトな方法で:

def product_link(product)
  return link_to product.name, product, class: "last" if product == @products.last
  return link_to product.name, product)
end
于 2012-10-02T21:58:15.003 に答える