Как вставить <br>после метки тега в simple_form? - PullRequest
3 голосов
/ 15 февраля 2011

Используя 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 ]

10 голосов
/ 15 февраля 2011

Обычно лучше сделать это с помощью правил таблицы стилей, чем вставлять теги HTML, поскольку разрыв зависит от форматирования, а не от содержимого.Это может быть что-то простое, как ...

label {
    display: block;
}
1 голос
/ 15 февраля 2011

Полностью согласен, что вы должны использовать css для этого, как описано Стивом. Но если вы действительно хотите, вы можете сделать это с помощью помощника по умолчанию для rails:

<%= f.label :email %>
<br>
<%= f.text_field :email %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...