使用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>
之前。现在,这可以在下一个“线”上显示输入,但它只是感觉“错误”。
有没有办法正确地做到这一点?
答案 0 :(得分:10)
使用样式表规则通常比插入HTML标记更好,因为中断是格式而不是内容。它可能就像......一样简单。
label {
display: block;
}
答案 1 :(得分:1)
完全同意你应该像史蒂夫描述的那样用css来做这件事。但是如果你真的想要,你仍然可以通过使用rails的默认表单助手来实现这一点:
<%= f.label :email %> <br> <%= f.text_field :email %>