2

在 Rails 中, label 和 label_tag 似乎工作相同。rails 渲染它们的方式有什么内部差异吗?哪个更好用?

4

2 回答 2

3

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

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

所有的表单输入都有这两种变体,带和不带_tag后缀,比如selectandselect_tag等。

于 2013-10-31T10:54:55.363 回答
0

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

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

label_tag :name, "My Name:"


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

于 2017-04-25T10:10:19.943 回答