Подтвердить что ты не робот

Выберите форму Rails

Я пытаюсь иметь <select> в моей форме Rails.

Это мой код (elipsis должен сделать строку короче):

<div class="field">
  <p><%= f.label :category, "Category:" %></p>
  <%= f.select :category, ['Analytics','Commerce',..., 'Web'], :prompt => '-- Select One --', :required => true %>
</div>

Какие выходы

<div class="field">
  <p><label for="startup_category">Category:</label></p>
  <select id="startup_category" name="startup[category]">
    <option value="">-- Select One --</option>
    <option value="Analytics">Analytics</option>
    <option value="Commerce">Commerce</option>
    <option value="Content Management">Content Management</option>
    <option value="Gaming">Gaming</option>
    <option value="Green">Green</option>
    <option value="Media">Media</option>
    <option value="Social Media">Social Media</option>
    <option value="Technology - Software">Technology - Software</option>
    <option value="Technology - Hardware">Technology - Hardware</option>
    <option value="Web">Web</option></select>
</div>

Ввод {:required => true} вместо :required => true дает синтаксическую ошибку, а {:prompt => '-- Select One --', :required => true} отображает страницу, но без required="true" в моем теге select.

Как я могу получить required="true" в своем теге?

4b9b3361

Ответ 1

попробуйте этот...

f.select :category, ['Analytics','Commerce',..., 'Web'], { :include_blank => '-- Select One --' }, :required => true

Ответ 2

Я не уверен, что он выполнит то, что вы хотите, но у меня есть два решения для вас. Вы можете использовать жемчужину simpleform.

ИЛИ

Стиль:

<label class="required">Category</label>

В css:

label.required:after{content:"*"}