के माध्यम से रैक अप करने के लिए पासिंग विकल्प मैं सिनात्रा सीखने के लिए रूबी के लिए नया हूं। 'sinatra'
की आवश्यकता के द्वारा एक सिनात्रा साइट बनाने के दौरान और सीधे मार्गों को स्थापित करना बहुत आसान और अच्छी तरह से प्रलेखित है, 'sinatra/base'
की आवश्यकता के द्वारा एक आवेदन तैयार करना और 'Sinatra::Base
'से प्राप्त कक्षा को लिखना, जबकि अपेक्षाकृत आसान है, बहुत खराब दस्तावेज है (शायद क्योंकि यह सिनात्रा की एक सुंदर हालिया विशेषता है)।सिनात्रा आवेदन
और यह वही है जो मैं कर रहा हूं। मुझे सिनात्रा भाग पर बहुत अधिक परेशानी नहीं है, हालांकि मुझे रैकअप/पतली/सर्वर हिस्से में कुछ परेशानी हो रही है। स्पष्ट रूप से आवेदन को तैनात करने के दो तरीके हैं: सिनात्रा का उपयोग करके (run!
विधि का उपयोग करके) और एक रैकअप फ़ाइल (आमतौर पर config.ru
) का उपयोग करना।
सिनात्रा की run!
विधि का उपयोग बेहद सहज है और एक आकर्षण की तरह काम करता है, लेकिन स्पष्ट रूप से यह काम नहीं करता अगर मैं अपने ऐप को उसकेोकू पर तैनात करना चाहता हूं। वास्तव में, गिटहब पर मैंने जिन सभी सीनात्रा ऐप्स का सामना किया है, वे config.ru
फ़ाइल का उपयोग करते हैं।
रैकअप फ़ाइल का उपयोग करना उतना ही सहज हो सकता है, लेकिन मैं समझ नहीं पा रहा हूं कि सिनात्रा ऐप से सर्वर (आईआर: पोर्ट) में विकल्पों को कैसे पास किया जाए।
module MyApp
class App < Sinatra::Base
set :port, 4567
set :run, false
set :env, :production
# ...
# config.ru
require 'app'
run MyApp::App
सभी: आवेदन वर्ग के भीतर से विकल्पों की स्थापना करके
MyApp::App.set :port, 4567
MyApp::App.set :run, false
MyApp::App.set :env, :production
run MyApp::App
: ऐप्लिकेशन पर सीधे विकल्प जोड़कर
MyApp::App.default_options.merge!(
:run => false,
:env => :production,
:port => 4567
)
run MyApp::App
: मैं rackup के डिफ़ॉल्ट विकल्प सरणी करने के लिए विकल्पों को मर्ज करने की कोशिश की उपर्युक्त विधियां विफल संदेशों को दिखाकर या किसी भी विकल्प को ध्यान में रखते हुए विफल रहीं। तो रैकअप फ़ाइल का उपयोग करते समय एक सिनात्रा ऐप के माध्यम से रैकअप/पतली/सेवर को विकल्प पास करने का कोई तरीका है? या प्रश्नों में विकल्प सीधे कमांड लाइन विकल्प के माध्यम से रैकअप/पतली/सेवर पर पारित किया जाना चाहिए? https://github.com/AzizLight/Wiki/
धन्यवाद एक बहुत :) –