mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
67c1719012
This fixes incorrect assumptions made by e991c7b
that we can assume the
DB is already casting the value for us. The enum type needs additional
information to perform casting, and needs a subtype.
I've opted not to call `super` in `cast`, as we have a known set of
types which we accept there, and the subtype likely doesn't accept them
(symbol -> integer doesn't make sense)
Close #23190
23 lines
787 B
Ruby
23 lines
787 B
Ruby
class Book < ActiveRecord::Base
|
|
has_many :authors
|
|
|
|
has_many :citations, :foreign_key => 'book1_id'
|
|
has_many :references, -> { distinct }, through: :citations, source: :reference_of
|
|
|
|
has_many :subscriptions
|
|
has_many :subscribers, through: :subscriptions
|
|
|
|
enum status: [:proposed, :written, :published]
|
|
enum read_status: {unread: 0, reading: 2, read: 3}
|
|
enum nullable_status: [:single, :married]
|
|
enum language: [:english, :spanish, :french], _prefix: :in
|
|
enum author_visibility: [:visible, :invisible], _prefix: true
|
|
enum illustrator_visibility: [:visible, :invisible], _prefix: true
|
|
enum font_size: [:small, :medium, :large], _prefix: :with, _suffix: true
|
|
enum cover: { hard: 'hard', soft: 'soft' }
|
|
|
|
def published!
|
|
super
|
|
"do publish work..."
|
|
end
|
|
end
|