我想ActiveRecord
为 Salesforce 创建一个类似的界面,这样我就可以调用
class Account < Salesforce::Model
end
并且能够像Account.find_by_FirstName()
使用我自己的method_missing
函数一样调用方法。
但是,可以通过两种方式连接到 Salesforce:用户名和密码以及 oauth。如果使用用户名/密码,我可以在salesforce.yml
文件中定义它并自动加载。但是使用 oauth,我不能这样做,因为每个用户都会定义这个。我不想用Account.new('oauth', oauth_parmas)
or初始化一个类Account.new('username','password','sec_token')
,而是让模型根据规则并通过查看其中一个或另一个是否存在来确定使用哪个。
有没有办法实现这个?换句话说,模型有没有办法知道当前用户是否有当前oauth
令牌,或者是否定义了用户名/密码?
此外,如果我要在 Rails 应用程序中使用它,用户将在应用程序启动后登录,因此oauth
令牌将在应用程序启动后定义,并且对于多个用户中的每个用户来说都是不同的。例如,假设我打电话Account.find_by_FirstName('John')
给AccountController#Show
. 我希望 Account 模型oauth
无需询问即可使用令牌或用户名/密码。我也不想直接在show
控制器中的方法中建立连接。我有两个问题:
- 我将如何实现这一点?我应该
before_filter
在控制器中使用,还是有办法在整个应用程序范围内实现这个? - 如果我有多个用户连接到 Salesforce,这会导致我的应用程序出现问题吗?换句话说,由于连接是动态的,我是否需要担心另一个用户正在使用连接?