0

私は Rails を初めて使用し、Michael Hartl による Ruby on Rails チュートリアルに従っています。

リスト 7.11 に従って、テスト環境で BCrypt コスト ファクターを再定義します。

#config/environments/test.rb
SampleApp::Application.configure do
.
.
.
# Speed up tests by lowering BCrypt's cost function. 
require 'bcrypt'
  silence_warnings do
    BCrypt::Engine::DEFAULT_COST = BCrypt::Engine::MIN_COST
  end
end

Rspec を実行するたびに、次の警告が表示されます。

/Users/stonefruit/.rvm/gems/ruby-1.9.3-p385/gems/bcrypt-ruby-3.0.1/lib/bcrypt.rb:28: warning: already initialized constant DEFAULT_COST
/Users/stonefruit/.rvm/gems/ruby-1.9.3-p385/gems/bcrypt-ruby-3.0.1/lib/bcrypt.rb:30: warning: already initialized constant MIN_COST
/Users/stonefruit/.rvm/gems/ruby-1.9.3-p385/gems/bcrypt-ruby-3.0.1/lib/bcrypt.rb:32: warning: already initialized constant MAX_SALT_LENGTH

これらの警告が重要かどうかを知ることはできますか? また、「silence_warnings」は警告に対して何かをするはずですか?

ありがとう!

編集:提供したリストにタイプミスがありました。コメント行から require 'bcrypt' を移動しました。

回答で編集:

投稿を編集しているときに、リストを正確にフォローしていないことがわかりました。私のコードでは、私は使用していました

require 'BCrypt'

それ以外の

require 'bcrypt'

すべて小文字に変更すると警告が消えました!

4

0 に答える 0