= SelectableAttrRails
== Introduction
selectable_attr_railsは、selectable_attrをRailsで使うときに便利なヘルパーメソッドを提供し、
エントリをDBから取得したり、I18n対応するものです。
http://github.com/akm/selectable_attr_rails/tree/master
selectable_attr は、コードが割り振られるような特定の属性について*コード*、*プログラム上での名前*、
*表示するための名前*などをまとめて管理するものです。
http://github.com/akm/selectable_attr/tree/master
== Install
=== a. plugin install
ruby script/plugin install git://github.com/akm/selectable_attr.git
ruby script/plugin install git://github.com/akm/selectable_attr_rails.git
=== b. gem install
[sudo] gem install selectable_attr_rails
config/initializers/selectable_attr.rb
require 'selectable_attr'
require 'selectable_attr_i18n'
require 'selectable_attr_rails'
SelectableAttrRails.setup
== チュートリアル
=== selectヘルパーメソッド
以下のようなモデルが定義してあった場合
class Person < ActiveRecord::Base
include ::SelectableAttr::Base
selectable_attr :gender do
entry '1', :male, '男性'
entry '2', :female, '女性'
entry '9', :other, 'その他'
end
end
ビューでは以下のように選択肢を表示することができます。
<% form_for(:person) do |f| %>
<%= f.select :gender %>
<% end %>
form_for、fields_forを使用しない場合でも、オブジェクト名を設定して使用可能です。
<%= select :person, :gender %>
また以下のように複数の値を取りうる場合にもこのメソドを使用することが可能です。
class RoomSearch
include ::SelectableAttr::Base
multi_selectable_attr :room_type do
entry '01', :single, 'シングル'
entry '02', :twin, 'ツイン'
entry '03', :double, 'ダブル'
entry '04', :triple, 'トリプル'
end
end
<% form_for(:room_search) do |f| %>
<%= f.select :room_type %>
<% end %>
この場合、出力されるselectタグのmultiple属性が設定されます。
=== radio_button_groupヘルパーメソッド
一つだけ値を選択するUIの場合、selectメソッドではなくを出力することも可能です。
上記Personモデルの場合
<% form_for(:person) do |f| %>
<%= f.radio_button_group :gender %>
<% end %>
この場合、