[rails]
[rails_plugin]
[mysql]
[enum]
エラーチェックは、モデルに以下のように記述。
enum-column というプラグインがあります。
これをインストールすることで、mysqlのenumカラムを使用できるようになります。
./script/plugin install enum-column
DBのスキーマはこんな感じでを記述します。
create_table :enumerations, :force => true do |t|
t.column :severity, :enum, :limit => [:low, :medium, :high, :critical],
:default => :medium
t.column :color, :enum, :limit => [:red, :blue, :green, :yellow]
#...
end
エラーチェックは、モデルに以下のように記述。
validates_columns :severity, :color
コードの中では、値はシンボルで扱われます。
@e = Enumeration.new
@e.severity = :low
ビュー内で、
<%= input 'e', 'severity' >
このように記述すると、以下のようなHTMLが返ります。
<select id="e_severity" name="e[severity]">
<option value="low">low</option>
<option value="medium" selected="selected">medium</option>
<option value="high">;high</option>
<option value="critical">critical</option>
</select>
結構便利。
参考URL