我正在创建一个gem来封装应用程序中的一大块功能。他们宝石基本上运行一个rake任务,但当我用bundle exec rake:assets:precompile
运行任务时,我收到以下错误
rake aborted!
Bundler::GemRequireError: There was an error while trying to load the gem 'gem-name'.
/Users/tonyedwardspz/myprojects/westcornwallevents/config/application.rb:8:in `<top (required)>'
/Users/tonyedwardspz/myprojects/westcornwallevents/Rakefile:4:in `require'
/Users/tonyedwardspz/myprojects/westcornwallevents/Rakefile:4:in `<top (required)>'
NameError: uninitialized constant GemName::Rails::Railtie
/Users/tonyedwardspz/myprojects/westcornwallevents/config/application.rb:8:in `<top (required)>'
/Users/tonyedwardspz/myprojects/westcornwallevents/Rakefile:4:in `require'
/Users/tonyedwardspz/myprojects/westcornwallevents/Rakefile:4:in `<top (required)>'
与铁路相关的模块的代码是:
require 'rails'
module GemName
module Rails
class Railtie < Rails::Railtie
railtie_name :gem_name
rake_tasks do
load "tasks/gem_name.rake"
end
end
end
end
为什么我收到此错误的任何想法?
答案 0 :(得分:0)
错误在类定义的语法中。如下更新代码将允许rake任务运行。
class Railtie < Rails::Railtie
到
class Railtie < ::Rails::Railtie