如何在 Spree Social 插件中删除 OAUTH_PROVIDERS
How to remove OAUTH_PROVIDERS in Spree Social plugin
我一直在通读 SpreeSocial 文档 here。我不知道如何通过配置删除提供程序。我试图将最新的提供者从列表中删除,但这不起作用。
SpreeSocial::OAUTH_PROVIDERS.pop
我设法让 'Sign in with LinkedIn' 出现在视图中,但我想删除 'Sign in with Google+' link。
SpreeSocial::OAUTH_PROVIDERS << ['LinkedIn', 'linkedin', 'true']
SpreeSocial.init_provider('linkedin')
如果我想用 .class_eval 在 SpreeSocial 中打开 类(我想这可能会帮助我编辑可用的提供商),我应该把这些文件放在哪里,以便它们会自动加载,或者我需要在哪里配置它们? Spree/Rails 还很陌生,所以不太熟悉配置和初始化程序。感谢您的帮助!
我希望能够在 SpreeSocial 模块上调用 .class_eval here
SpreeSocial::OAUTH_PROVIDERS 将在代码初始化应用程序时重新定义,因此仅使用 pop 是不够的。由于 SpreeSocial 是一个模块而不是 class,您需要:
1) 使用 module_eval 而不是 class_eval 来重新定义 SpreeSocial::OAUTH_PROVIDERS
SpreeSocial.module_eval do
OAUTH_PROVIDERS = [
%w(Facebook facebook true),
%w(Twitter twitter false),
%w(Github github false),
%w(Amazon amazon false)
]
end
或
2) 您可以将确定活动身份验证方法的方法覆盖为不 return google:https://github.com/spree-contrib/spree_social/blob/master/app/models/spree/authentication_method.rb#L4-L12
我一直在通读 SpreeSocial 文档 here。我不知道如何通过配置删除提供程序。我试图将最新的提供者从列表中删除,但这不起作用。
SpreeSocial::OAUTH_PROVIDERS.pop
我设法让 'Sign in with LinkedIn' 出现在视图中,但我想删除 'Sign in with Google+' link。
SpreeSocial::OAUTH_PROVIDERS << ['LinkedIn', 'linkedin', 'true']
SpreeSocial.init_provider('linkedin')
如果我想用 .class_eval 在 SpreeSocial 中打开 类(我想这可能会帮助我编辑可用的提供商),我应该把这些文件放在哪里,以便它们会自动加载,或者我需要在哪里配置它们? Spree/Rails 还很陌生,所以不太熟悉配置和初始化程序。感谢您的帮助!
我希望能够在 SpreeSocial 模块上调用 .class_eval here
SpreeSocial::OAUTH_PROVIDERS 将在代码初始化应用程序时重新定义,因此仅使用 pop 是不够的。由于 SpreeSocial 是一个模块而不是 class,您需要:
1) 使用 module_eval 而不是 class_eval 来重新定义 SpreeSocial::OAUTH_PROVIDERS
SpreeSocial.module_eval do
OAUTH_PROVIDERS = [
%w(Facebook facebook true),
%w(Twitter twitter false),
%w(Github github false),
%w(Amazon amazon false)
]
end
或
2) 您可以将确定活动身份验证方法的方法覆盖为不 return google:https://github.com/spree-contrib/spree_social/blob/master/app/models/spree/authentication_method.rb#L4-L12