9

仅当语句为真时,我才想将类添加到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 回答