Ruby 1.9.2 と Ruby on Rails 3.2.2 を使用しています。私は次の声明を持っています:
class Category < ActiveRecord::Base
include Commentable
acts_as_list :scope => 'category_comment_id'
has_many :comments, :class_name => 'CategoryComment'
# ...
end
module Commentable
extend ActiveSupport::Concern
included do
acts_as_list :scope => 'comment_id'
has_many :comments, :class_name => 'Comment'
# Other useful method statements...
end
# Other useful method statements...
end
上記のコードでは、組み込みモジュールによってクラスに追加されたacts_as_something
とhas_many
メソッドの両方をオーバーライドしようとしています。両方のメソッドが「スコープ内」に記載されているため、上記のコードは期待どおりに機能しません。メソッドはオーバーライドされません。Category
Commentable
Category
これらのメソッドをオーバーライドすることは可能ですか? もしそうなら、どのように?