嘿, 我需要使用current_user模型來執行函數內的一些計算。在函數內部我需要做一些事情,比如current_user.name ='whatever',從而改變當前的名字值。Rails的克隆或哈希?
但是,我希望這種改變是本地的,只在該功能內完成。由於Rails使用對象,這是一個問題。所以我在想,最好的事情是什麼?
也許克隆current_user到一個新的對象,並使用它的功能?這看起來很昂貴。 或者可能創建一個模型哈希?如果我這樣做,實際的模型將不會改變?
編輯:看來,哈希的作品,但沒有與它關聯的類型,所以,如果我這樣做:
@attacker = current_user.attributes
然後,使用它,我必須指定像to_s(否則我得到某種原因,零誤差):
@attacker [:名字] .to_s = '什麼'
嗯,我不會
在控制器某處不想爲需要更改的模型的每個可能屬性創建虛擬屬性。你不覺得它可以用哈希完成嗎? – Spyros 2011-01-29 21:40:33
這是一個簡單的變量。既然你需要`在一個函數內執行一些計算,並且你希望這個改變是局部的,那麼只有在這個函數內部完成``它才能安全地在你的函數範圍內使用一個變量。你可以返回這個變量,或者讓它在你的函數內死掉。不需要虛擬屬性。 – lbz 2011-01-29 21:43:40