10

Czy mogę zrobić coś takiego w Rails?Mieszanie w module z attr_accessible, has_one, has_many

module Authored 
    belongs_to :user 
    attr_accessible creation_date 
end 

class Line < ActiveRecord::Base 
    include Authored 
end 

class Document < ActiveRecord::Base 
    include Authored 
end 

class User < ActiveRecord::Base 
    has_many :creations, :class_name => 'Authored' 
end 

Albo muszę użyć prostego dziedziczenia, nawet jeśli moje autorem klasy mają różne hierarchie klasowe?

Odpowiedz

23
module Authored 
    extend ActiveSupport::Concern 

    included do 
    belongs_to :user 
    attr_accessible :creation_date 
    end 
end 

class Line < ActiveRecord::Base 
    include Authored 
end 

class Document < ActiveRecord::Base 
    include Authored 
end 

Aby uzyskać więcej informacji na temat ActiveSupport::Concern, http://api.rubyonrails.org/classes/ActiveSupport/Concern.html

+1

Tylko to, co potrzebne, dzięki :) Wygląda na to, że nie będzie pracować dla has_many w moim Użytkownika. Prawdopodobnie muszę sobie z tym poradzić za pomocą polimorficznego skojarzenia. –