19

我正在尝试<select>在我的 Rails 表单中添加一个。

这是我的代码(省略号是为了缩短行):

<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"我的标签?

4

3 回答 3

51

试试这个....

f.select :category, ['Analytics','Commerce',..., 'Web'], { :include_blank => '-- Select One --' }, :required => true
于 2013-04-22T05:51:12.843 回答
4

对于Rails 4

    f.select :category,
      ['Analytics','Commerce',..., 'Web'],
      {
        include_blank: '-- Select One --' ,
        required: true
      }
于 2018-03-09T09:48:21.303 回答
2

我不确定它是否能实现你想要的,但我有两个解决方案给你。您可以使用 simpleform gem。

或者

样式它:

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

在 css 中:

label.required:after{content:"*"}
于 2013-04-21T21:37:24.060 回答