使用表单构建器将字段的值显示在rails中的标签中

时间:2013-04-10 13:46:22

标签: ruby-on-rails label

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

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

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

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

2 个答案:

答案 0 :(得分:4)

#{:key_name}将评估为字符串':key_name',然后是正在打印的字符串。您需要在模型实例上调用方法 key_name,例如:

<%= f.label :key_name, @model.key_name %>

答案 1 :(得分:1)

使用更少的代码可以完成同样的事情:

<%= f.object.key_name %>

除非坚持使用HTML标签。