Ruby on rails 如何在不更改原始类的情况下替换关联

Ruby on rails 如何在不更改原始类的情况下替换关联,ruby-on-rails,ruby,metaprogramming,rails-activerecord,refinerycms,Ruby On Rails,Ruby,Metaprogramming,Rails Activerecord,Refinerycms,我有一个类似这样的类: class Refinery::Blog::Post < ActiveRecord::Base belongs_to :author, class_name: '::Refinery::User', foreign_key: :user_id # SNIP very long class body end Refinery::Base::Post.class_eval do belongs_to :author, class_name: 'MyUse

我有一个类似这样的类:

class Refinery::Blog::Post < ActiveRecord::Base
  belongs_to :author, class_name: '::Refinery::User', foreign_key: :user_id

  # SNIP very long class body
end
Refinery::Base::Post.class_eval do
  belongs_to :author, class_name: 'MyUser', foreign_key: :user_id
end

但它似乎不起作用。

查看初始化器文件,我认为它位于config/initializers/refinery/blog.rb中

Refinery::Blog.configure do |config|


  # If you're grafting onto an existing app, change this to your User class
   Refinery::Blog.user_class = 'MyUser'
end

你能用send代替class eval,看看它是否有效吗?class_eval将在rails的本征类上下文中对代码进行求值。运气不好。这个选项在GitRepo中,但在最新版本(目前为2.0.4)中没有。看起来添加更改的提交相当小;你能把它补上吗?