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

Vij*_*rma 5 label ruby-on-rails

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

<%= f.label :key_name, "#{:key_name}"%>
<%= f.text_field :key_name %>
Run Code Online (Sandbox Code Playgroud)

在上面的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
Run Code Online (Sandbox Code Playgroud)

Fel*_*ger 7

帮助那些否则会错过它的人.这是OP在评论中的正确答案:

<%= f.label :key_name, f.object.key_name %>
Run Code Online (Sandbox Code Playgroud)


omn*_*ron 4

#{:key_name}将计算字符串':key_name',这就是正在打印的内容。您需要在模型实例上调用该方法,例如: key_name

<%= f.label :key_name, @model.key_name %>
Run Code Online (Sandbox Code Playgroud)

  • 你好,谢谢你的建议。那行得通。我不知道如何通过表单生成器对象访问模型,但我找到了。我写了如下代码并且工作正常。感谢您的帮助:&lt;%= f.label :key_name, f.object.key_name %&gt; (5认同)