我知道在模型中獲取current_user是一個壞主意。我也知道有一種方法可以做到這一點(使用Thread)。但是,我不想這樣做(這當然是一個壞主意),所以我想對實現這個不同的方式有一個意見。在after_create過濾器中獲取當前用戶
用戶可以創建一個家族,創建家族後,他必須成爲領導者。氏族模型是:
class Clan < ActiveRecord::Base
after_create :assign_leader
# the person who created the clan is the leader
def assign_leader
self.clan_memberships << ClanMembership.new(:user_id => ???, :role => 'leader')
end
end
我知道我可以在控制器中創建成員資格。但是,我喜歡過濾器作爲交易,我非常希望過濾器。但是,在這裏真的有一種正確的,非「駭客」的方式嗎?
如何使用虛擬屬性?我的意思是在Clan模型中使用名爲user_id的虛擬屬性,並在創建Clan時設置虛擬屬性。虛擬屬性將可以從self.user_id – mohamagdy 2012-02-26 22:03:48