मैं एक रेल इंजन विकसित कर रहा हूं जो ओथ तंत्र को किसी तीसरे पक्ष के साथ संभालता है। मैं एक संरचना विशेषता में सभी विन्यास करना चाहते हैं, इसलिए सभी इंजन config डेटा एक साथ संग्रहीत किया जाता है:रेल इंजन कॉन्फ़िगरेशन
require 'rails'
module ThirdParty
class Engine < ::Rails::Engine
initializer "third-party.some_init_task" do |app|
ThirdPartyConfig = Struct.new(:uri, :client_id, :client_secret, :redirect_uri)
app.config.thirdparty = ThirdPartyConfig.new
app.config.thirdparty.uri = "https://thirdparty.com"
app.config.thirdparty.client_id = ""
app.config.thirdparty.client_secret = ""
app.config.thirdparty.redirect_uri = ""
end
end
end
विन्यास में से कुछ अनुप्रयोग स्तर initializers में परिभाषित किया जाना चाहिए:
class Application < Rails::Application
config.thirdparty.client_id = <valid_client_id>
config.thirdparty.client_secret = <valid_client_secret>
config.thirdparty.redirect_uri = <redirect_uri>
end
लेकिन config.thirdparty के रूप में अभी भी अनुप्रयोग प्रारंभकर्ता लोड करते समय अपरिभाषित है, यह विफल रहता है।
धन्यवाद @cowboycoded !! मैंने application.rb में इसे लिखने के बजाय एप्लिकेशन कॉन्फ़िगरेशन डेटा को प्रारंभकर्ता में बदल दिया है। मैंने आपके द्वारा सुझाए गए रेल इंजन में पैरामीटर से पहले: इसके लिए एक मान्य मान निर्धारित किया है। वास्तव में आपकी मदद योग्य !!! – juandebravo
@juandebravo आपने 'पहले से' प्रविष्टि को क्या मूल्य दिया था? – vemv