3

我已将我的模型提取到可安装引擎中,现在我希望主机应用程序(包括该可安装引擎的应用程序)使用该引擎中的固定装置。

class ActiveSupport::TestCase
  # Add fixtures from the mounted engine "blorgh"
  fixture_path = Blorgh::Engine.root.join("test", "fixtures")
  fixtures :all
end

调试得知 fixture_path 已正确设置,类似于/home/x/.rvm/gems/ruby-1.9.3-p286@x/bundler/gems/blorgh-07520673953b/test/fixtures/. 这是具有正确固定装置的正确路径。

但是,不知何故,固定装置似乎没有被加载。数据库仍然是空的。并且助手不可用。例如,一个夹具contacts.yml通常会导致助手contacts(:harry)。未设置此帮助程序,因为未加载固定装置。

引擎没有命名空间,但为了完整起见,blorgh_contacts(:harry)也没有定义。

如何使用引擎中的固定装置?

4

2 回答 2

2

这对我有用

self.fixture_path = Rails.root.parent + "./fixtures/ads"
于 2013-09-12T09:20:35.777 回答
2

这对我有用,我觉得更简洁。

self.fixture_path = Blorgh::Engine.root.join("test", "fixtures")
于 2013-12-19T14:17:20.867 回答