2016-04-19 3 views
-1

Я создаю камень для инкапсуляции функциональности из приложения. Их драгоценный камень в основном выполняет задачу грабли, но когда я запускаю задачу с bundle exec rake:assets:precompile, я получаю следующую ошибкуNameError: неинициализированная константа GemName :: Rails :: Railtie

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)>' 

Код для модуля, связанного с railtie является:

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

Ошибка в синтаксисе определения класса. Обновление кода в следующем порядке позволит запустить задачу рейка.

class Railtie < Rails::Railtie 

в

class Railtie < ::Rails::Railtie