Rails простая проблема формы - Как поставить скрытое поле ввода последним? - PullRequest
0 голосов
/ 05 августа 2011

Как изменить порядок элемента ввода, генерируемого простой формой?

Поскольку скрытый флажок блокирует щелчок по метке.

Мой простой код_формы:

<label>
  <span>Company<b></b></span>
  <%= f.check_box :company_is_true %>
</label>

Форма простой формы генерирует:

    <label>
        <span>Company<b>0</b></span>
       <input type="hidden" value="0" name="search[company_is_true]">
<input type="checkbox" value="1" name="search[company_is_true]" id="search_company_is_true">
      </label>

То, что я хочу сгенерировать, работает при нажатии на ярлык:

<label>
    <span>Company<b>0</b></span>

<input type="checkbox" value="1" name="search[company_is_true]" id="search_company_is_true">
    <input type="hidden" value="0" name="search[company_is_true]">
  </label>

Ответы [ 2 ]

2 голосов
/ 05 августа 2011

Я не знаю, как добавить комментарий в список комментариев, но в ответ на это:

Пользователь должен иметь возможность щелкнуть метку, чтобы установить и снять флажок -Начинающий Rails 1 час назад

Это не флажок, который запрещает пользователю нажимать на этот ярлык, а отсутствие for = "" в

<label>
  <span>Company<b></b></span>
  <%= f.check_box :company_is_true %>
</label>

Любое использование <% = f.label%> как упомянуто agmcleod, или добавьте for = "" к метке:

<label for="search_company_is_true">
  <span>Company<b></b></span>
  <%= f.check_box :company_is_true %>
</label>
1 голос
/ 05 августа 2011

В традиционной html-форме его структура должна выглядеть примерно так:

<label for="name">Name: </label>
<input type="text" name="name" />

Атрибут for связывает его с полем с атрибутом имени или атрибута id с тем значением, которое вы используете для.Чтобы сделать это в рельсах, используйте следующее:

<%= f.label :company_is_true, 'Company' %>
<%= f.check_box :company_is_true %>
...