選択ボックスを生成
select(オブジェクト名, プロパティ名, タグの情報 [, オプション])
タグの情報は、配列やハッシュ形式で指定が可能
オプション | 説明 |
---|---|
:include_blank | 空のオプションを先頭に追加 |
:prompt | 指定したオプションを先頭に追加 |
:disabled | 無効にするオプション |
:selected | 選択されたオプション |
:size | フォームの幅 |
:maxlength | 入力フィールドに入力可能な最大文字数 |
:tabindex | Tabキーによる入力欄の移動順 |
:accesskey | フォームに移動するショートカットキー |
:id | 要素固有の識別子 |
:class | 要素を分類するクラス名 |
:title | 要素の補足情報 |
:style | 要素の補足情報 |
:dir | 表記方向 |
:lang | 基本言語 |
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]] %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= select :page, :name, {"Railsの基礎" => "rails_base", "Rubyの基礎" => "ruby_base"} %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
# @categories = Category.all<%= select :page, :name, @categories.map{|t| [t.name, t.id]} %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :include_blank => true %>
# <select id="page_name" name="page[name]"><option value=""></option>
# <option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :prompt => "選択してください" %>
# <select id="page_name" name="page[name]"><option value="">選択してください</option>
# <option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
# @page.name = "ruby_base"
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]] %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" selected="selected">Rubyの基礎</option></select>
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :selected => "ruby_base" %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" selected="selected">Rubyの基礎</option></select>
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :disabled => "ruby_base" %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" disabled="disabled">Rubyの基礎</option></select>
f.select(プロパティ名, タグの情報 [, オプション])
オプション | 説明 |
---|---|
:include_blank | 空のオプションを先頭に追加 |
:prompt | 指定したオプションを先頭に追加 |
:disabled | 無効にするオプション |
:selected | 選択されたオプション |
:size | フォームの幅 |
:maxlength | 入力フィールドに入力可能な最大文字数 |
:disabled | フォームの項目の利用禁止 |
:tabindex | Tabキーによる入力欄の移動順 |
:accesskey | フォームに移動するショートカットキー |
:id | 要素固有の識別子 |
:class | 要素を分類するクラス名 |
:title | 要素の補足情報 |
:style | 要素の補足情報 |
:dir | 表記方向 |
:lang | 基本言語 |
<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]] %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= f.select :name, {"Railsの基礎" => "rails_base", "Rubyの基礎" => "ruby_base"} %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
# @categories = Category.all
<%= f.select :name, @categories.map{|t| [t.name, t.id]} %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :include_blank => true %>
# <select id="page_name" name="page[name]"><option value=""></option>
# <option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :prompt => "選択してください" %>
# <select id="page_name" name="page[name]"><option value="">選択してください</option>
# <option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
# @page.name = "ruby_base"
<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]] %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" selected="selected">Rubyの基礎</option></select>
<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :selected => "ruby_base" %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" selected="selected">Rubyの基礎</option></select>
<%= f.select :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :disabled => "ruby_base" %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" disabled="disabled">Rubyの基礎</option></select>
select_tag(要素名, タグを表す文字列 [, オプション])
オプション | 説明 |
---|---|
:multiple | 複数選択可 |
:disabled | フォームの項目の利用禁止 |
:include_blank | 空のオプションを先頭に追加 |
:prompt | 指定したオプションを先頭に追加 |
:disabled | 無効にするオプション |
:selected | 選択されたオプション |
:size | フォームの幅 |
:maxlength | 入力フィールドに入力可能な最大文字数 |
:tabindex | Tabキーによる入力欄の移動順 |
:accesskey | フォームに移動するショートカットキー |
:id | 要素固有の識別子 |
:class | 要素を分類するクラス名 |
:title | 要素の補足情報 |
:style | 要素の補足情報 |
:dir | 表記方向 |
:lang | 基本言語 |
<%= select_tag 'page[name]', options_for_select([["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]]) %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= select_tag 'page[name]', options_for_select({"Railsの基礎" => "rails_base", "Rubyの基礎" => "ruby_base"}) %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
# @categories = Category.all
<%= select_tag 'page[name]', options_from_collection_for_select(@categories, :id, :name) %>
# <select id="page_name" name="page[name]"><option value="1">Railsの基礎</option>
# <option value="2">Rubyの基礎</option></select>
# @categories = Category.all
<%= select_tag 'page[name]', options_from_collection_for_select(@categories, :id, :name, 2) %>
# <select id="page_name" name="page[name]"><option value="1">Railsの基礎</option>
# <option value="2", selected="selected">Rubyの基礎</option></select>
# @categories = Category.all
<%= select_tag 'page[name]', option_groups_from_collection_for_select(@categories, :pages, :name, :id, :name) %>
# <select id="page_name" name="page[name]"><optgroup label="Railsの基礎知識"><option value="1">Ruby on Railsとは</option>
# <option value="2">規約</option>
# <option value="3">ディレクトリ構造</option>
# <option value="4">アプリケーション作成の流れ</option>
# </optgroup><optgroup label="Rubyの基礎知識"><option value="5">Rubyとは</option></optgroup></select>
<%= select_tag 'page[name]', options_for_select([["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]]), :include_blank => true %>
# <select id="page_name" name="page[name]"><option value=""></option>
# <option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
<%= select_tag 'page[name]', options_for_select([["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], "ruby_base") %>
# <select id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base" selected="selected">Rubyの基礎</option></select>
<%= select :page, :name, [["Railsの基礎", "rails_base"], ["Rubyの基礎", "ruby_base"]], :disabled => true %>
# <select disabled="disabled" id="page_name" name="page[name]"><option value="rails_base">Railsの基礎</option>
# <option value="ruby_base">Rubyの基礎</option></select>
取得するカラムを指定する
モデル.select(取得するカラム)
モデル.select(ブロック)
User.select("name, sex")
# SELECT name, sex FROM users