我正在爲Catarse項目創建一個Stripe支付引擎。我有三個記錄需要從我的用戶(他是項目所有者)拷貝到我的用戶項目中複製。但是因爲我是初學者,所以代碼看起來像S &%#te!使用.dup與多個記錄
#project_controller.rb
def create
...
check_for_stripe_keys
....
end
def show
...
check_for_stripe_keys
....
end
....
def check_for_stripe_keys
if @project.stripe_userid.nil?
@project.reload
@project.stripe_access_token = @project.user.stripe_access_token.dup
@project.stripe_key = @project.user.stripe_key.dup
@project.stripe_userid = @project.user.stripe_userid.dup
elsif @project.stripe_userid != @project.user.userid
@project.stripe_access_token = @project.user.stripe_access_token.dup
@project.stripe_key = @project.user.stripe_key.dup
@project.stripe_userid = @project.user.stripe_userid.dup
end
@project.save
end
....
我只需要這三條記錄,因爲我的條紋代碼是一個引擎。三件事:
1)最初我想用戶update_attributes,但我不知道是否有可能在該方法中使用.dup。
2)是否有可能把它放在位於main_app可訪問的引擎中的幫助器上,以便用戶不必編輯main_app project_controller代碼?
3)是否有更清晰的方式顯示上述.dup代碼?因爲它很好看!
感謝您的幫助!
漂亮的當然接近完美的朋友......我學到了一些東西關於紅寶石陣列。我覺得哈哈! ;) – lux 2013-02-19 23:22:05
它更關於你可以用send方法 – 2013-02-19 23:39:30