1

私はそのような選択メニューを持っています

<%= f.select(:size, options_for_select(@sizes_availiable), :prompt => "Select Size") %>

「サイズの選択」というプロンプトが表示されます。問題は、ユーザーが「サイズの選択」を選択しても、フォームを送信できることです。すべてのサイズが文字列でもある場合、ユーザーが値としてそれを選択できないようにするにはどうすればよいですか?

4

3 に答える 3

4

できることがいくつかあります。

# as suggested, use :include_blank
f.select :size, options_for_select(@sizes_availiable), include_blank: "Select Size"
# wihch creates an 'option' tag with no value and 'Select Size' text

# or/and add a validation
validates :size, presence: true
validates :size, numericality: true       # or
validates :size, format: { with: /\d+/ }  #

ただし、悪意のあるユーザーがフォームを操作してランダムなものを送信するのを防ぐために、常に検証を含める必要があります。

于 2013-01-28T21:01:29.333 に答える
3

include_blankの代わりに使用してくださいprompt

 <%= f.select(:size, options_for_select(@sizes_availiable), {:include_blank => "Select Size"}) %>

sizeモデルでを検証できるよりも。

validates :size,   :presence => true
于 2013-01-28T19:46:54.747 に答える
2

使用:disabled

<%= f.select(:size, options_for_select(@sizes_availiable), :prompt => "Select Size", :disabled => 'Select Size') %>

参照:

http://zittlau.ca/ruby-on-rails-disabling-a-select-tag-using-the-select-helper/

于 2013-01-28T19:44:08.200 に答える