如何从引擎加载灯具?

时间:2013-09-12 09:11:44

标签: ruby-on-rails fixtures

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

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)也未定义。

如何使用引擎中的灯具?

2 个答案:

答案 0 :(得分:2)

这对我有用

self.fixture_path = Rails.root.parent + "./fixtures/ads"

答案 1 :(得分:2)

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

self.fixture_path = Blorgh::Engine.root.join("test", "fixtures")