Чайная ложка терпит неудачу после обновления Rails 4.2.9 до 4.2.10 - PullRequest
0 голосов
/ 11 октября 2018

Чайная ложка сломалась после обновления Rails с 4.2.9 до 4.2.10.Ничто другое не изменилось с проектом.

Вот ошибка, когда набор тестов набирает чайную ложку:

Starting the Teaspoon server...
[33337] Puma starting in cluster mode...
[33337] * Version 3.10.0 (ruby 2.3.3-p222), codename: Russell's Teapot
[33337] * Min threads: 5, max threads: 5
[33337] * Environment: test
[33337] * Process workers: 2
[33337] * Preloading application
[33337] * Listening on tcp://127.0.0.1:63120
[33337] Use Ctrl-C to stop
[33337] - Worker 0 (pid: 33351) booted, phase: 0
[33337] - Worker 1 (pid: 33352) booted, phase: 0
Teaspoon running default suite at http://127.0.0.1:63120/teaspoon/default
Error: ActionView::Template::Error: Asset was not declared to be precompiled in production.
Add `Rails.application.config.assets.precompile += %w( support/bind-poly.self.js )` to `config/initializers/assets.rb` and restart your server
/Users/meltemi/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/helper.rb:363:in `raise_unless_precompiled_asset'

Запустите только чайную ложку с rake teaspoon (в отличие от rake для набора по умолчанию, который default [:teaspoon] - это часть) она терпит неудачу немного по-другому:

...
Teaspoon running default suite at http://127.0.0.1:63120/teaspoon/default
Failed to load: http://127.0.0.1:63120/teaspoon/default?reporter=Console
rake teaspoon failed
[33352] ! Detected parent died, dying

Вот строка из lib/sprockets/rails/helper.rb, по которой она срабатывает:

def raise_unless_precompiled_asset(path)
  raise Helper::AssetNotPrecompiled.new(path) if @check_precompiled_asset && !precompiled?(path)
end

Не так много в разнице между Rails 4.2.9...4.2.10.Надеюсь, один из вас умнее людей поймет, что может вызвать это.Похоже, это может быть связано с конвейером активов или маршрутами к продаваемым драгоценным камням ... но это только предположение!?!https://github.com/rails/rails/compare/v4.2.9...v4.2.10

1 Ответ

0 голосов
/ 30 ноября 2018

Мне повезло (пока) с предложенным патчем обезьяны здесь .

Я добавил это в конец моего taspoon_env.rb файла:

# https://github.com/modeset/teaspoon/issues/443
module RaiseUnlessPrecompiledFixer
  def raise_unless_precompiled_asset(path)
    super unless path.split('.')[-2] == 'self'
  end
end
Sprockets::Rails::HelperAssetResolvers::Environment.send(:prepend,RaiseUnlessPrecompiledFixer)
...