rails label和label_tag之间的区别

时间:2013-10-31 10:45:19

标签: ruby-on-rails-3

在rails中,label和label_tag看起来都是一样的。它们如何通过rails呈现内部差异?哪一个更好用?

2 个答案:

答案 0 :(得分:1)

当您使用f.label创建的表单对象内部并且想要引用模型属性时,请使用form_for(...) do |f|。如果你的应用程序是i18n-ed,Rails将使用翻译来显示属性名称。

当您不在表单对象中时使用label_tag。 (或者您处于表单对象中,但希望为非模型属性创建虚拟标签。)

所有表单输入都有这两种变体,有_tag后缀select,有select_tag和{{1}}等。

答案 1 :(得分:0)

我假设你的意思是标签而不是f.label。 我在仅使用label和label_tag之间看到的区别是,如果您使用标签,则不能在仅使用标签时设置自定义标签

label :name, "My Name:
在视图中,它不会呈现我的名字而只是名称。 但如果你使用
 

label_tag :name, "My Name:"


 它将在显示屏上显示我的名字。