5

我正在使用 Rails 3.2,并且需要使用表单构建器对象在标签中显示字段的值。在文本框中显示它是直截了当的,但我无法在标签中做到这一点。代码是这样的:

<%= f.label :key_name, "#{:key_name}"%>
<%= f.text_field :key_name %>

在上面的 f 是我的表单构建器,我的模型有一个名为 key_name 的字段。第二行工作正常,我在文本字段中显示它,而第一行没有。我该怎么做。上面的行最终将“键名”显示为标签,而我希望将 key_name 的值设置为标签的值,例如。它应该生成一个 html, <label>Description</label>其中 'Description' 是:key_name. 然后我还必须在 key_name 上写一个 case 语句,这也不起作用,因为我不知道如何从:keyname字段中提取值。像这样的东西:

<% case :key_name %>
  <% when 'Description' %>
   ... do something
4

3 回答 3

7

帮助任何会错过它的人。这是评论中OP的正确答案:

<%= f.label :key_name, f.object.key_name %>
于 2016-04-10T15:43:20.417 回答
4

#{:key_name}将评估为 string ':key_name',这就是正在打印的内容。您需要在模型实例上调用该方法,例如: key_name

<%= f.label :key_name, @model.key_name %>
于 2013-04-10T14:32:38.103 回答
1

用更少的代码也可以做到这一点:

<%= f.object.key_name %>

除非坚持使用 HTML 标签标签。

于 2016-11-02T11:00:36.710 回答