0

В моем режиме развития, когда я предварительной компиляции активов приложения с помощью командыНет ошибки метода, [] не определено для класса ноль при предварительной компиляции активов для производства

rake bundle exec rake assets:precompile RAILS_ENV=production --trace 

я получаю следующее сообщение об ошибке

NoMethodError: undefined method '[]' for nil:NilClass 
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:278:in `sprockets_context' 
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:124:in `asset_path' 
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:137:in `asset_url' 
/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb:155:in `image_url' 
/home/sable/.rvm/gems/ruby-2.3.0/gems/sass-3.4.22/lib/sass/script/tree/funcall.rb:143:in `_perform' 

Когда я запускаю мой сервер в режиме разработки с использованием рельсов S команды есть ошибка, что я думаю, что может быть причиной ошибки предварительной компиляции, которая заключается в следующую

ActionController::RoutingError (No route matches [GET] "/javascripts/defaults.js"): 

Я прочитал через трубопровод рельсов активов и звездочки, но я не могу показаться, чтобы обернуть вокруг голов всех и решить эту проблему, как я новичок в рамки рельсов, любого направления или помощь будет оценена.

Решение я редактировал файл

/home/sable/.rvm/gems/ruby-2.3.0/gems/sprockets-3.6.3/lib/sprockets/sass_processor.rb 

как из линии 120, я добавил линию «заносит" путь»на линии 122, так что я могу видеть путь, по которому пред- ошибка компиляции происходит из

def asset_path(path, options = {}) 
    path = path.value 
    puts path........ 

я сохранил файл, а затем снова побежал

rake bundle exec rake assets:precompile RAILS_ENV=production --trace 

Я увидел, что я использовал вспомогательный метод sasss 'image-url' в файле css, поэтому предварительный компилятор не мог каким-то образом добраться до этого файла, я создал новый файл с расширением css.scss, это решило мою проблему , я не могу объяснить это лучше, потому что я не совсем понимаю это полностью, но сумел следовать из опыта людей, checkout, http://guides.rubyonrails.org/asset_pipeline.html#css-and-sass и How to reference images in CSS within Rails 4.

ответ

0

Попробуйте выполнить команду ниже.

RAILS_ENV = производство расслоение Exec грабли активы: прекомпиляцию --trace

+0

Я нашел решение, спасибо братан! – Teebo