使用默认链接标签/标题设置link_to

时间:2011-08-25 20:43:25

标签: ruby-on-rails ruby link-to

我有一个名为product的模型。我想要做的是在我的视图中写“product.link”以生成“link_to product.title,product”。我知道我无法在Product.rb文件中定义“链接”方法(因为link_to在那里不起作用),并且我不想每次需要创建“link_to product.title,product”时链接到产品。

我想知道是否有人可以建议采用最简单的方法来生成我产品的链接。

我还想知道在rails中是否有办法设置默认标签字段,以便在我写"link_to product"而不是现在显示的内容时显示:"#<Product:0x105093f20>"

1 个答案:

答案 0 :(得分:2)

添加一个帮助方法,它执行适当的操作:

# products_helper.rb
def product_link(product)
  # Change these to taste
  link_to product.name, product_path(product)
end

现在,您可以在视图中调用以下内容:

product_link product

关于#出现在链接中的问题,这是link_to帮助器在链接的html部分的对象上调用to_s。使用上面的帮助程序来定义默认文本。