Я новичок в Ruby on Rails, и я пытаюсь понять абстрактный класс. Может быть, я все еще имею в виду структуру Java ...Ruby on Rails has_many и полиморфизм
Я следовал за многими учебниками, и мне все еще нужно понять. Предположим, мы хотим создать контактную книгу. В этой адресной книге у нас есть люди и компании.
class Address < ActiveRecord::Base
belongs_to :addressable, :polymorphic => true
end
class Person < ActiveRecord::Base
has_one :address, :as => :addressable
end
class Company < ActiveRecord::Base
has_one :address, :as => :addressable
end
Все работает нормально. Теперь у нас разные пользователи, у каждого есть адресная книга.
class User < ActiveRecord::Base
has_one :addressbook
end
class Addressbook < ActiveRecord::Base
has_many ??????
end
Как я могу перечислить все адреса независимо от того, являются ли они личным лицом или компанией? Потому что я хотел бы, чтобы отобразить их в алфавитном порядке ...
Да, суперкласс кажется лучшим, есть ли у вас какие-либо намеки, как я должен это делать? Я буду google, но я не очень комфортно ныряю в этих концепциях, так как я очень новичок в Rails. –
Я редактирую свой пост, чтобы показать вам, как это сделать. – pierallard
О, ничего себе! Большое спасибо! Я пытаюсь это прямо сейчас! –