【发布时间】:2016-04-19 11:51:35
【问题描述】:
我有一个定义了一些模型的应用程序。我想将一些模型的功能(例如添加方法、添加关联)从应用程序扩展到我的引擎。 我尝试在引擎中添加一个与我的应用程序模型同名的模型,Rails 会自动合并它们,但是它不起作用。
例如: (应用程序的模型)
class Article < ActiveRecord:Base
def from_application
puts "application"
end
end
(Inside my Engine)
module MyEngine
class Article < ::Article
has_many :metrics, :class_name => 'Metric'
end
end
当我尝试访问 @articles.metrics 时,has_many 关联未应用于我的文章模型。有任何想法吗 ?
【问题讨论】:
-
我认为 class_eval 是您正在寻找的。我没有这方面的经验,但最近读了这篇文章:edgeguides.rubyonrails.org/…
-
@Arun Kumar M,您的指标模型是否与 Articles 有关联。您的迁移情况如何,您的 Metric 表是否包含 article_id。您收到的确切错误消息是什么?
-
@OlalekanSogunle 是的,我愿意!我仔细检查了它:)
-
@siax:检查了那个链接。但它不适用于关联
-
你能添加你得到的确切错误信息吗?
标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-plugins rails-engines