【发布时间】:2015-02-10 10:47:01
【问题描述】:
如果我这样做,我有一个奇怪的问题:
namespace :xaaron do
task :get_roles do
roles = Xaaron::Role.all
puts roles
end
task :get_role, [:name] do |t, args|
role = Xaaron::Role.find(args[:name].parameterize)
puts role
end
end
第一个任务可以完美运行。我什至可以在旁边放置一个binding.pry 并执行Xaaron::Role 并获取有关角色的信息。但是第二个任务爆了NameError: uninitialized constant Xaaron::Role
我在我的主应用程序中运行每个任务(因为这些任务在引擎中):bin/rake xaaron:get_roles 和 bin/rake xaaron:get_role。
为什么第二个会爆炸而第一个不会?是否存在与论点有关的范围界定问题?
更新
我应该注意,我可以在使用所述引擎的主应用程序中执行 bin/rails c 并执行 Xaaron::Role 并获取有关角色表的信息。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 rake rake-task