【问题标题】:In rails, what distinguishes label from label_tag?在 rails 中,label 和 label_tag 有什么区别?
【发布时间】:2013-04-01 03:15:04
【问题描述】:

我注意到在我的 Rails 视图中,一些视图使用(助手?)名为 xxx 而其他地方使用名为 xxx_tag 的视图?

谁能概述两者之间的区别以及我如何知道在特定情况下使用哪个?

【问题讨论】:

标签: ruby-on-rails tags label helpers


【解决方案1】:

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

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

所有表单输入都有这两种变体,有和没有_tag 后缀,如selectselect_tag

【讨论】:

    【解决方案2】:

    label(和等效项)可以在表单构建器上调用(调用form_for时产生的对象),因此可以知道表单关注的模型实例,将通过@987654323自动链接它@ 属性到适当的输入,并且可以使用 I18n 翻译。

    label_tag(和等价物)不绑定到表单,用于在更基本的级别生成标签 HTML 标记。它没有那么聪明,你必须赋予它你想要它拥有的所有属性,但有时这正是你所需要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      相关资源
      最近更新 更多