【Rails】createの際、enumのカラムをシンボルで定義できるのはなぜ??
質問したいこと
enumに関する質問です。
どうしてcreateする際にシンボルでenumを定義することができるのでしょうか?
(下記ソースコードですと、sales_status
というカラムの内容を定義する際に、sales_status: :now_on_sale
と定義しています。)
本当なら" "
で定義するのが一般的だと思うのですが...。
ソースコード
app/models/book.rb
classBook<ApplicationRecord
enumsales_status:{
reservation:0,#予約受付
now_on_sale:1,#発売中
end_of_print:2,#販売終了
}
end
irb(main):001:0> Book.create(
irb(main):002:1* name:"enumBook1",
irb(main):003:1* sales_status::now_on_sale,
irb(main):004:1* publisher:Publisher.find(1),
irb(main):005:1* price:100
irb(main):006:1> )
=>#<Bookid:5,name:"enumBook1",略,sales_status:"now_on_sale">
自分で試したこと
ネットで検索しましたが、シンボルでの定義についての書かれた情報に
出会えませんでした。
以上、お手数ではございますが
もしご存知の方がいらっしゃいましたら
ご教示の程よろしくお願い申し上げます。
0