मैंने स्क्रैच से रेल ऐप (रेल 4.1.0) बनाया है और मुझे एक समस्या हो रही है जिसे मैं हल करने में सक्षम नहीं हूं। मैंने अपाचे पैसेंजर मॉड्यूल को स्थापित और कॉन्फ़िगर किया है, यह ठीक काम करता है।सेमीफिक्स्ड: 'उत्पादन' पर्यावरण के लिए `secret_key_base` गुम है
Missing secret_key_base for 'production' environment, set this value in config/secrets.yml
secret.yml फ़ाइल निम्न विन्यास शामिल हैं::
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
यहां तक कि जब यह अनुशंसित नहीं है कि मैं इस किया था: किसी भी समय मैं वर्चुअल होस्ट मैं एक त्रुटि 500 मिल तक पहुँचने का प्रयास
# tailf /etc/httpd/logs/error_log
[Tue May 06 12:56:18 2014] [error] [client 192.168.3.1] Premature end of script headers:
App 4405 stderr: [ 2014-05-06 12:56:18.5763 4421/0x9d48bdc(Worker 1) utils.rb:68 ]: *** Exception RuntimeError in Rack application object (Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`) (process 4421, thread 0x9d48bdc(Worker 1)):
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/application.rb:440:in `validate_secret_key_config!'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/application.rb:195:in `env_config'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/engine.rb:510:in `call'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/railties-4.1.0/lib/rails/application.rb:144:in `call'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41/lib/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41/lib/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41/lib/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
App 4405 stderr: from /usr/local/rvm/gems/ruby-2.1.1/gems/passenger-4.0.41/lib/phusion_passenger/request_handler.rb:448:in `block (3 levels) in start_threads'
:
production:
secret_key_base: XXXXXXXXXXXXXXXXXXXXXXXXXXXX (random key)
लेकिन अपाचे लॉग यह दिखाने
मैं इस त्रुटि को कैसे ठीक कर सकता हूं? मैं विकास पर्यावरण का उपयोग कैसे करूं? मेरा मतलब है कि मैं कोड कैसे लिख सकता हूं, अपने ब्राउज़र में परीक्षण कर सकता हूं और फिर हेरोोकू पर तैनात कर सकता हूं या सिर्फ उत्पादन वातावरण में परीक्षण कर सकता हूं?
अद्यतन
मैं VirtualHost पर RailsEnv development
की स्थापना करके ऊपर त्रुटि को ठीक करने का प्रबंधन, लेकिन अब मैं इस अन्य त्रुटि मिलती है:
SQLite3::CantOpenException unable to open database file Rails.root: /var/www/html/moviedb
मैं this GEM का उपयोग के लिए TheMovieDB करने के लिए क्वेरी बनाने के लिए कोशिश कर रहा हूँ वेबसाइट और परिणाम प्राप्त करें। इस नई त्रुटि पर कोई सलाह?
आपके YAML से पोस्ट किया गया अंश सही ढंग से इंडेंट नहीं किया गया है। क्या यह पेस्ट में एक त्रुटि है? वाईएएमएल इंडेंटेशन के प्रति बहुत संवेदनशील है - 'secret_key_base:' को 'उत्पादन:' से दो रिक्त स्थान से बाहर किया जाना चाहिए। –
बस इतना है कि आप ENV ["SECRET_KEY_BASE"] का उपयोग करके जानते हैं, सिस्टम पर्यावरण चर के लिए SECRET_KEY_BASE नामक है। यदि आप मेजबान पर ssh कर सकते हैं तो रेल निर्देशिका में 'SECRET_KEY_BASE = \' रेक गुप्त \ '' इसे सेट करना चाहिए। इसे जांचने के लिए आपने काम किया है '$ SARERET_KEY_BASE' प्रतिबिंबित करें नोट: यदि आप सीधे कॉन्फ़िगरेशन फ़ाइल में सेट करते हैं तो यह शायद समस्या नहीं है। –