Ruby on Rails
विन्यास
खोज…
रेल में वातावरण
रेल के लिए विन्यास फाइल config/environments/
में पाया जा सकता है। डिफ़ॉल्ट रेल द्वारा 3 वातावरण, development
, production
और test
। प्रत्येक फ़ाइल को संपादित करके आप केवल उस वातावरण के लिए कॉन्फ़िगरेशन को संपादित कर रहे हैं।
रेल में config/application.rb
में एक विन्यास फाइल भी है। यह एक सामान्य कॉन्फ़िगरेशन फ़ाइल है क्योंकि यहां परिभाषित कोई भी सेटिंग प्रत्येक वातावरण में निर्दिष्ट कॉन्फ़िगरेशन द्वारा ओवरराइट की गई है।
आप Rails.application.configure do
ब्लॉक के भीतर कॉन्फ़िगरेशन विकल्प जोड़ते या संशोधित Rails.application.configure do
और कॉन्फ़िगरेशन विकल्प कॉन्फ़िगरेशन से शुरू होते हैं config.
डेटाबेस कॉन्फ़िगरेशन
एक रेल परियोजना के config/database.yml
एक फ़ाइल config/database.yml
में निहित है। यदि आप rails new
कमांड का उपयोग करके एक प्रोजेक्ट बनाते हैं और डेटाबेस इंजन का उपयोग करने के लिए निर्दिष्ट नहीं करते हैं, तो रेल डिफ़ॉल्ट डेटाबेस के रूप में sqlite
का उपयोग करता है। एक सामान्य database.yml
फ़ाइल डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ निम्न के समान दिखाई देगी।
# SQLite version 3.x
# gem install sqlite3
#
# Ensure the SQLite 3 gem is defined in your Gemfile
# gem 'sqlite3'
#
default: &default
adapter: sqlite3
pool: 5
timeout: 5000
development:
<<: *default
database: db/development.sqlite3
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *default
database: db/test.sqlite3
production:
<<: *default
database: db/production.sqlite3
यदि आप एक नया प्रोजेक्ट बनाते समय डिफ़ॉल्ट डेटाबेस को बदलना चाहते हैं, तो आप डेटाबेस को निर्दिष्ट कर सकते हैं: rails new hello_world --database=mysql
डेटाबेस rails new hello_world --database=mysql
सामान्य कॉन्फ़िगरेशन रेल
निम्नलिखित कॉन्फ़िगरेशन विकल्पों को Rails::Railtie
ऑब्जेक्ट पर बुलाया जाना चाहिए
- config.after_initialize : रेल्स को अनुप्रयोग प्रारंभ करने के बाद चलाया जाने वाला ब्लॉक लेता है।
- config.asset_host : यह संपत्ति के लिए मेजबान सेट करता है। सामग्री वितरण नेटवर्क का उपयोग करते समय यह उपयोगी है। यह
config.action_controller.asset_host
लिए आशुलिपि है - config.autoload_once_paths : यह विकल्प उन रास्तों की एक सरणी को स्वीकार करता है जहां रेल ऑटोलैड स्थिरांक होते हैं। डिफ़ॉल्ट मान एक खाली सरणी है
- config.autoload_paths : यह उन रास्तों की एक सरणी को स्वीकार करता है जहाँ रेल ऑटोलैड स्थिरांक बनाती है। यह
app
तहत सभी निर्देशिकाओं के लिए डिफ़ॉल्ट है - config.cache_classes : यह निर्धारित करता है कि क्या प्रत्येक अनुरोध पर कक्षाएं और मॉड्यूल फिर से लोड किए जाने चाहिए। डेवलपमेंट मोड में, यह डिफॉल्ट को
false
और प्रोडक्शन और टेस्ट मोड में डिफॉल्ट कोtrue
- config.action_view.cache_template_loading : यह निर्धारित करता है कि प्रत्येक अनुरोध पर टेम्प्लेट पुनः लोड किए जाने चाहिए या नहीं। यह
config.cache_classes
सेटिंग में डिफॉल्ट करता है - config.beginning_of_week : यह सप्ताह की डिफ़ॉल्ट शुरुआत सेट करता है। इसके लिए एक वैध सप्ताह के दिन प्रतीक की आवश्यकता होती है
:monday
(:monday
) - config.cache_store : चुनें कि किस कैश स्टोर का उपयोग करना है। विकल्पों में शामिल हैं
:file_store
,:memory_store
,mem_cache_store
याnull_store
। - config.colorize_log : यह नियंत्रित करता है कि लॉगिंग जानकारी को रंगा गया है या नहीं
- config.eager_load : ईगर-लोड सभी पंजीकृत
- config.encoding : अनुप्रयोग एन्कोडिंग को निर्दिष्ट करता है। डिफ़ॉल्ट मान
UTF-8
- config.log_level : रेल्स लकड़हारे की क्रिया को निर्धारित करता है। यह डिफॉल्ट करता है
:debug
सभी वातावरणों में:debug
। - config.mieldware : एप्लिकेशन के मिडलवेयर को कॉन्फ़िगर करने के लिए इसका उपयोग करें
- config.time_zone : यह एप्लिकेशन के डिफ़ॉल्ट समय क्षेत्र को सेट करता है।
संपत्तियों का विन्यास
निम्नलिखित कॉन्फ़िगरेशन विकल्पों का उपयोग संपत्ति को कॉन्फ़िगर करने के लिए किया जा सकता है
- config.assets.enabled : निर्धारित करता है कि परिसंपत्ति पाइपलाइन सक्षम है या नहीं। यह सत्य के लिए चूक है
- config.assets.raise_runtime_errors : यह रनटाइम त्रुटि जाँच सक्षम करता है। यह
development mode
लिए उपयोगीdevelopment mode
- config.assets.compress : आइए संपत्तियों को संपीड़ित किया जाए। उत्पादन मोड में, यह सत्य के लिए चूक है
- config.assets.js_compressor : निर्दिष्ट करता है कि किस जेएस कंप्रेसर का उपयोग करना है। विकल्पों में शामिल हैं
:closure
:uglifier
और:yui
:uglifier
- config.assets.paths : निर्दिष्ट करता है कि संपत्तियों की खोज करने के लिए कौन से रास्ते हैं।
- config.assets.precompile : यदि आप
rake assets:precompile
चला रहे हैं, तो आप अतिरिक्त संपत्ति का चयन करते हैं - config.assets.digest : यह विकल्प संपत्ति के नामों में
MD-5
फिंगरप्रिंट के उपयोग की अनुमति देता है। यह विकास मोड में सच करने के लिए चूक करता है - config.assets.compile : उत्पादन मोड में टॉगल लाइव
Sprockets
संकलन
जनरेटर को कॉन्फ़िगर करना
रेल कॉन्फ़िगर क्या जनरेटर जब चल रहा है उपयोग किया जाता है करने की अनुमति देता rails generate
आदेशों। यह विधि, config.generators
एक ब्लॉक लेता है
config.generators do |g|
g.orm :active_record
g.test_framework :test_unit
end
यहाँ कुछ विकल्प दिए गए हैं
विकल्प | विवरण | चूक |
---|---|---|
संपत्ति | मचान बनाते समय संपत्ति बनाता है | सच |
force_plural | बहुवचन मॉडल नामों की अनुमति देता है | असत्य |
सहायक | निर्धारित करता है कि सहायकों को उत्पन्न करना है या नहीं | सच |
integration_tool | एकीकरण उपकरण निर्दिष्ट करें | test_unit |
javascript_engine | JS इंजन को कॉन्फ़िगर करता है | :js |
resource_route | संसाधन मार्ग उत्पन्न करता है | सच |
stylesheet_engine | स्टाइलशीट इंजन को कॉन्फ़िगर करता है | :cs |
scaffold_stylesheet | मचान पर सीएसएस बनाता है | सच |
test_framework | टेस्ट फ्रेमवर्क निर्दिष्ट करें | Minitest |
template_engine | टेम्पलेट इंजन को कॉन्फ़िगर करता है | :erb |