2011-03-12 9 views
5

एक सीएमएस आवेदन कहां बनाते हैं, जहां वेबसाइट के आधार पर वेबसाइट विशिष्ट विवरण अलग-अलग होंगे, मुझे यह जानकारी कहां संग्रहित करनी चाहिए?साइट विशिष्ट जानकारी जैसे साइट का नाम, व्यवस्थापक ईमेल इत्यादि कहां स्टोर करें?

जैसी चीज़ें: साइट का नाम, समर्थन ईमेल, smtp सेटिंग्स, आदि?

उत्तर

5

मान लिया जाये कि आप आवेदन के लिए विन्यास डेटा मतलब है, यहाँ मैं क्या कर रहा है:

मैं अपने config जानकारी के साथ एक config/app_config.yml फ़ाइल बनाने, इस तरह:

site_name: This awesome site 
support_email: [email protected] 

फिर, (config/application.rb के शीर्ष पर

# Load application-specific configuration from app_config.yml 
require 'yaml' 
APP_CONFIG = YAML.load(File.read(File.expand_path('../app_config.yml', __FILE__))) 

अब, किसी भी समय मैं विन्यास डेटा का उपयोग करने की जरूरत है, मैं मैं करने के लिए प्राप्त कर सकते हैं: ठीक नीचे पहले बयान 'की आवश्यकता होती है'), मैं इस जोड़ने टी APP_CONFIG हैश के माध्यम से है, इसलिए जैसे:

html = "For support, please e-mail #{APP_CONFIG['support_email']}" 

ध्यान दें, इसके बाद के संस्करण, रेल 3. रेल 2 के लिए के लिए है बजाय application.rb में config लोड हो रहा है की, आप config/preinitializer.rb में बयान डाल ।

अधिक जानकारी के लिए http://asciicasts.com/episodes/226-upgrading-to-rails-3-part-2 देखें।

+0

सही अपने AppName की जांच कर सकते है कि बस क्या मैं के बाद कर रहा हूँ। – Blankman

+0

app_config.yml एप्लिकेशन.आरबी के समान फ़ोल्डर में है, तो आपके पास ../app_config.yml क्यों है और न केवल app_config.yml है? – Blankman

+0

\ _ \ _ FILE \ _ \ _ तर्क जो हम आधार के रूप में उपयोग कर रहे हैं वह फ़ाइल वर्तमान में निष्पादित की जा रही है ... इसलिए यह 'myapp/config/application.rb' को हल करता है। यदि आप ".." नहीं जोड़ते हैं, तो यह 'myapp/config/application.rb/app_config.yml' लोड करने का प्रयास करता है। –

1

इस तरह की सेटिंग।

$ vi config/environments/development.rb 
config.site_name = "Your Site Name" 
config.site_url = "localhost:3000" 

इसके अलावा आप 'application.rb' वातावरण का उपयोग कर सकते हैं।

$ vi config/application.rb 
module YourAppName 
class Application < Rails::Application 
    config.site_name = "Your Site Name" 

इसका उपयोग कैसे करें।

<%= YourAppName::Application.config.site_name %> 
@url = YourAppName::Application.config.site_url 

आप यहाँ से

$ vi config/application.rb 
module YourAppName 
class Application < Rails::Application 
संबंधित मुद्दे