2013-07-20 3 views
0

Я использую Rails 3.2.13 и получить следующее сообщение:Rails: секретный маркер ошибки

ArgumentError (A secret is required to generate an integrity hash for cookie session data. Use config.secret_token = "some secret phrase of at least 30 characters"in config/initializers/secret_token.rb): 

Я нашел ссылку на это this pull request и обсуждение here.

Я использую Devise (следовательно, Warden), и информация в обсуждении актуальна. Я бы предпочел не взламывать драгоценный камень railtie - что здесь рекомендуется?

Благодаря

Стек след:

Connecting to database specified by database.yml 
Started GET "/" for 76.176.151.243 at 2013-07-20 12:34:25 -0700 

ArgumentError (A secret is required to generate an integrity hash for cookie session data. Use config.secret_token = "some secret phrase of at least 30 characters"in config/initializers/secret_token.rb): 
    actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:319:in `ensure_secret_secure' 
    actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:284:in `initialize' 
    actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:231:in `new' 
    actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:231:in `signed' 
    actionpack (3.2.13) lib/action_dispatch/middleware/session/cookie_store.rb:50:in `block in unpacked_cookie_data' 
    actionpack (3.2.13) lib/action_dispatch/middleware/session/abstract_store.rb:57:in `stale_session_check!' 
    actionpack (3.2.13) lib/action_dispatch/middleware/session/cookie_store.rb:48:in `unpacked_cookie_data' 
    rack (1.4.5) lib/rack/session/cookie.rb:107:in `extract_session_id' 
    actionpack (3.2.13) lib/action_dispatch/middleware/session/abstract_store.rb:53:in `block in extract_session_id' 
    actionpack (3.2.13) lib/action_dispatch/middleware/session/abstract_store.rb:57:in `stale_session_check!' 
    actionpack (3.2.13) lib/action_dispatch/middleware/session/abstract_store.rb:53:in `extract_session_id' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:43:in `load_session_id!' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:32:in `[]' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:267:in `current_session_id' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:273:in `session_exists?' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:107:in `exists?' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:127:in `load_for_read!' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:64:in `has_key?' 
    actionpack (3.2.13) lib/action_dispatch/middleware/flash.rb:258:in `ensure in call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/flash.rb:259:in `call' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context' 
    rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/cookies.rb:341:in `call' 
    activerecord (3.2.13) lib/active_record/query_cache.rb:64:in `call' 
    activerecord (3.2.13) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call' 
    activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `_run__1076913542946280817__call__830910935667466127__callbacks' 
    activesupport (3.2.13) lib/active_support/callbacks.rb:405:in `__run_callback' 
    activesupport (3.2.13) lib/active_support/callbacks.rb:385:in `_run_call_callbacks' 
    activesupport (3.2.13) lib/active_support/callbacks.rb:81:in `run_callbacks' 
    actionpack (3.2.13) lib/action_dispatch/middleware/callbacks.rb:27:in `call' 
    rack (1.4.5) lib/rack/sendfile.rb:102:in `call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/remote_ip.rb:31:in `call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call' 
    railties (3.2.13) lib/rails/rack/logger.rb:32:in `call_app' 
    railties (3.2.13) lib/rails/rack/logger.rb:16:in `block in call' 
    activesupport (3.2.13) lib/active_support/tagged_logging.rb:22:in `tagged' 
    railties (3.2.13) lib/rails/rack/logger.rb:16:in `call' 
    actionpack (3.2.13) lib/action_dispatch/middleware/request_id.rb:22:in `call' 
    rack (1.4.5) lib/rack/methodoverride.rb:21:in `call' 
    rack (1.4.5) lib/rack/runtime.rb:17:in `call' 
    rack (1.4.5) lib/rack/lock.rb:15:in `call' 
    rack-cache (1.2) lib/rack/cache/context.rb:136:in `forward' 
    rack-cache (1.2) lib/rack/cache/context.rb:245:in `fetch' 
    rack-cache (1.2) lib/rack/cache/context.rb:185:in `lookup' 
    rack-cache (1.2) lib/rack/cache/context.rb:66:in `call!' 
    rack-cache (1.2) lib/rack/cache/context.rb:51:in `call' 
    railties (3.2.13) lib/rails/engine.rb:479:in `call' 
    railties (3.2.13) lib/rails/application.rb:223:in `call' 
    railties (3.2.13) lib/rails/railtie/configurable.rb:30:in `method_missing' 
    passenger (4.0.8) lib/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request' 
    passenger (4.0.8) lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request' 
    passenger (4.0.8) lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop' 
    passenger (4.0.8) lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads' 

ответ

0

В моих config/initializers/secret_token.rb я следующий

# Be sure to restart your server when you modify this file. 

# Your secret key for verifying the integrity of signed cookies. 
# If you change this key, all old signed cookies will become invalid! 
# Make sure the secret is at least 30 characters and all random, 
# no regular words or you'll be exposed to dictionary attacks. 
Friendflat::Application.config.secret_token = 'asdf...' 

Вы должны добавить то же, настраиваемое значение до некоторой случайной длиной шестнадцатеричной строки.

+0

У меня такое же (разные строки). Я не думаю, что это так. –

+0

@SteveRoss перезапустил сервер? можете ли вы добавить полный след? Является ли имя приложения (Friendflat здесь) действительным именем? –

+0

Да, я пробовал прикоснуться к 'tmp/restart.txt' и таким же результатам, а затем« apachectl restart », чтобы сделать абсолютно уверенным, но получил те же результаты. Я исправил исходный вопрос, чтобы включить трассировку стека. –

Смежные вопросы