在Rails中的label_tag中包含表单元素

时间:2012-09-21 16:57:05

标签: html css ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我想将我的文本字段和其他表单元素括在标签标记中:

<label for="answer">Give it to me: <input type="text" id="answer" name="answer"/></label>

这样我可以拥有以下CSS:

label {
   white-space: nowrap;
}

然后标签和表单元素永远不会分成不同的行。我知道我可以使用<span>包围整个标签和表单元素并使用white-space: nowrap;,但我喜欢有一个涵盖所有内容的标签。至少有时候。

问题是如何使用他们的label_tag表单助手在Rails中执行此操作。我应该在label_tag调用中包含其他表单元素吗?

<%= label_tag 'answer', "Give it to me: #{text_field_tag 'answer', @prev_answer, placeholder: 'Enter answer', class: 'special'}" %>

1 个答案:

答案 0 :(得分:1)

您可以使用label_tag的块语法。像这样:

<%= label_tag 'answer' do %>
  Give it to me: <%= text_field_tag 'answer', @prev_answer %>
<% end %>

更多信息:
http://openmonkey.com/blog/2010/03/30/rails-label-helpers-with-blocks/
Passing block to label helper in rails3