Подтвердить что ты не робот

DEPRECATION WARNING: вы не установили config.secret_key_base

Я получаю это предупреждение при запуске моих спецификаций. Существует ли наилучшая практика для создания secret_key_base или будет ли какая-либо строка достаточной (в отношении проблем безопасности)?

4b9b3361

Ответ 1

Вы можете обновить до Rails 4 из версии 3.x или предыдущей версии.

Сначала создайте случайное значение секретного ключа:

$ rake secret

Затем возьмите это значение и поместите его в config/initializers/secret_token.rb:

YourApp::Application.config.secret_key_base = 'your-secret'

заменив YourApp на имя вашего приложения.

Причина этого объясняется здесь.

Также см. http://guides.rubyonrails.org/upgrading_ruby_on_rails.html#config-secrets-yml

Ответ 3

Вам просто нужно создать файл secret_token.rb в каталоге config/initializers.

Содержимое файла ниже:

YourAppNameHere::Application.config.secret_key_base = #type the key you generated with rake secret here

затем сохраните файл

close your server: 
ctrl c

restart it: rails s

Теперь вы увидите основную страницу приложения рельсов, которую вы видели в последней главе (если вы работаете с учебником Hartl)

Ответ 4

Если вы полный нуб, как я, не забудьте поставить secret_key_base = 'whatever' внутри одинарных кавычек. Просто копирование и вставка без кавычек вызовет ошибку:

С:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activesupport-4.0.8/lib/act ive_support/dependencies.rb: 223: в `load ': C:/Users/Jeff C/documents/rails_proje cts/first_app/config/initializers/secret_token.rb: 1: ошибка синтаксиса, неожиданный tI DENTIFIER, ожидающий $end (SyntaxError)