【问题标题】:Rails printing literal label object instead of label tag in form helperRails 在表单助手中打印文字标签对象而不是标签标签
【发布时间】:2020-02-15 17:08:54
【问题描述】:

我有一个 Rails 项目,去年一直在运行,没有任何问题。我今天克隆了它并在本地(在虚拟机内)启动了实例,现在所有标签都显示如下:

<label object="#<Organization:0x000055ae1b1ea888>">organization</label>

而不是&lt;label /&gt; 标签。除了新的控制器和视图之外,没有任何重大变化。

生成它的代码:

<div class="uk-margin">
    <%= f.label :name, class: "uk-form-label" %>
  <div class="uk-form-controls">
        <%= f.text_field :name, maxlength: 100, required: true, class: 'uk-input', placeholder: 'ACME Incorporated Inc' %>
  </div>
</div>

我认为这可能是本地实例中的某些问题,所以我推动了生产,现在同样的事情正在那里发生。

有谁知道如何解决这个问题?

编辑:

这是完整的表格:

<%= form_for @organization, url: url do |f| %>
  <div class="uk-margin">
    <%= f.label :name %>
    <div class="uk-form-controls">
            <%= f.text_field :name, maxlength: 100, required: true, class: 'uk-input', placeholder: 'ACME Incorporated Inc' %>
    </div>
  </div>

  <div class="uk-margin">
    <%= f.label :tax_number %>
    <div class="uk-form-controls">
            <%= f.text_field :tax_number, maxlength: 100, required: false, class: 'uk-input', placeholder: '0000000000' %>
    </div>
  </div>

    <%= f.submit 'Save' %>
<% end %>

更新

这发生在所有形式中。

f.method(:label).source_location 的输出是:

/home/vagrant/lib/ruby/gems/2.5.0/gems/actionview-5.2.2/lib/action_view/helpers/form_helper.rb", 2025

更新 2

切换到 form_with,标签会变成这样打印:

<label skip_default_ids="false" allow_method_names_outside_object="true" object="#<Merchant:0x00007ff24c079810>">Category</label>

【问题讨论】:

  • 你能把完整的表格贴出来吗?
  • @DavidGeismar 更新了完整表格。问题是整个应用程序中的所有表单都在执行此操作,而不仅仅是这个。
  • 查看@organization.name中的内容
  • @DavidGeismar @organization 是模型实例,name 是返回“Test Org”的字符串
  • 你可以试试f.method(:label).source_location看看有没有被重新定义。

标签: ruby-on-rails forms


【解决方案1】:

根据当前的 actionview 文档,您获得的输出是预期的输出(检查此 link )。这种行为有可能从一个版本更改为另一个版本。检查您是否在上次部署期间更新了任何可能影响此类更改的 gem。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多