2013-04-21 2 views
12

Я стараюсь иметь <select> в моей форме Rails.Rails Form Select Обязательный

Это мой код (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" в выбранном теге.

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

+0

http://stackoverflow.com/questions/11951873/rails-select-required я думаю, что это один и тот же вопрос –

+0

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

ответ

31

попробовать это один ....

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

Я на самом деле JUST понял это! Я добавляю фигурные скобки вокруг ': required => true', но я не уверен, что они необходимы. Спасибо за помощь независимо. –

1

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

ИЛИ

Стиль его:

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

в CSS:

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

для Rails 4

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