現在、ステータス列を持つ Attend モデルがあり、このステータス列にはいくつかの値しかありません。 STATUS_OPTIONS = {:yes, :no, :maybe}
1) ユーザーが Attend を挿入する前にこれをどのように検証できるかわかりません。基本的には Java の列挙型ですが、これを Rails で実行するにはどうすればよいですか?
ベストアンサー1
今Rails 4.1
enum が含まれている場合は、次の操作を実行できます。
class Attend < ActiveRecord::Base
enum size: [:yes, :no, :maybe]
validates :size, inclusion: { in: sizes.keys }
end
これにより、スコープ (つまり、、Attend.yes
) 、特定のステータスが設定されているかAttend.no
どうAttend.maybe
かを確認するチェッカー メソッド (つまり、、、#yes?
) 、および属性セッター メソッド (つまり、、、)が#no?
提供されます。#maybe?
#yes!
#no!
#maybe!