Я работаю над интерфейсной частью приложения Rails 3.1. Мы используем Twitter Bootstrap в качестве CSS Framework, Devise в качестве менеджера аутентификации и гем I18n для локализации.
Это синтаксис устройства для флажка с его меткой
<%= f.label :remember_me %>
<%= f.check_box :remember_me %>
И это, конечно, сгенерированный HTML
<label for="user_remember_me">Ricordati di me</label>
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
Поскольку Bootstrap добавляет это правило для меток display: block
, метка и флажок находятся не в одной строке. Чтобы иметь одну строку, мне нужен вывод в формате HTML, подобный этому
<label for="user_remember_me">
Ricordati di me
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
</label>
Как показано в документации по разметке форм
Вы заметите, что текст метки написан на итальянском, член команды, который обеспечил локализацию для Devised, усердно работал, чтобы выяснить, как это сделать, и я не хочу заставлять его снова работать над этим, вводя новые локализованные строки .
Мне известно о том приятном факте, что метод FormBuidler
label
принимает блок в качестве аргумента, чтобы я мог сделать
<% f.label :remeber_me do %>
<%= f.check_box :remember_me %>
<% end %>
Но это приводит к выводу HTML без метки! o.o
Чтобы быть конкретным, это то, что я получаю:
<input name="user[remember_me]" type="hidden" value="0">
<input id="user_remember_me" name="user[remember_me]" type="checkbox" value="1">
Я попытался заглянуть в исходный код, метод f.label
вызывает метод label
, но я могу видеть только то, что при наличии блока текст не будет и что этикетка и блок будут отображаться с помощью label_tag
из template_object
.
Прежде чем погрузиться в копание исходного кода и не спать, я решил немного подождать и обратиться за помощью к сообществу спасателей StackOverflow.
Я что-то упустил? Я неправильно звоню f.label
с блоком? Отсутствует какой-либо параметр?
Спасибо !!