如何在simple_form中插入标签后标签?

时间:2011-02-15 08:49:11

标签: ruby-on-rails-3 forms

使用simple_form,我有一个简单的输入:

<%= f.input :email %>

这会生成(删除不相关的部分):

...
  <label>Email</label>
  <input .... />
...

我希望输入控件位于标签下方,因此<br/>之后我需要</label>

...
  <label>Email</label>
  <br/>
  <input .... />
...

我如何做以上?

我试过了:

<br/>中插入config/initializers/simple_form.rb

config.label_text = lambda { |label, required| "#{required} #{label} <br/>" }

这会产生:

...
  <label>Email<br/></label>  #note the location of <br/>
  <input .... />
...

<br/>就在</label>之前。现在,这可以在下一个“线”上显示输入,但它只是感觉“错误”。

有没有办法正确地做到这一点?

2 个答案:

答案 0 :(得分:10)

使用样式表规则通常比插入HTML标记更好,因为中断是格式而不是内容。它可能就像......一样简单。

label {
    display: block;
}

答案 1 :(得分:1)

完全同意你应该像史蒂夫描述的那样用css来做这件事。但是如果你真的想要,你仍然可以通过使用rails的默认表单助手来实现这一点:

<%= f.label :email %>
<br>
<%= f.text_field :email %>