ステートメントがtrueの場合にのみ、 link_toにクラスを追加したいと思います。
<%= link_to product.name, product, :class => "last" if product == @products.last %>
IFステートメントが:class部分だけでなく、行全体に影響を与えるという問題。
IF ELSEで実行できることはわかっていますが、1行で実行できますか?
ステートメントがtrueの場合にのみ、 link_toにクラスを追加したいと思います。
<%= link_to product.name, product, :class => "last" if product == @products.last %>
IFステートメントが:class部分だけでなく、行全体に影響を与えるという問題。
IF ELSEで実行できることはわかっていますが、1行で実行できますか?
<%= link_to product.name, product, :class => (product == @products.last ? "last" : "") %>
さて、あなたはヘルパーでこれを抽象化することができます:
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