OAuth mekanizmasını üçüncü taraflarla işleyen bir Rails Engine geliştiriyorum. Bir Struct özelliğinde tüm yapılandırmayı istiyorum, bu yüzden tüm motor yapılandırma veri birlikte depolanır:Raylar Motor yapılandırması
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
düzenlemenin bazı uygulama düzeyinde başlatıcılar tanımlanmalıdır:
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
Ancak config.thirdparty, uygulama başlatıcısını yüklerken hala tanımlanmamış olduğu için başarısız oluyor.
Teşekkür @cowboycoded konak/ana uygulama üzerinden raylar motorunu yapılandırabilirsiniz !! Uygulama yapılandırma verilerini, application.rb dosyasında yazmak yerine bir başlatıcıya değiştirdim. Ayrıca, Rails Engine'de önerdiğiniz gibi: önce parametresi için geçerli bir değer belirledim. Gerçekten yardımınıza layık! – juandebravo
@juandebravo ': before' girişine hangi değeri verdiniz? – vemv