4
我在Ruby on Rails 3應用程序中使用Devise Ruby gem。當登錄用戶創建我的模型之一時,我想將其用戶ID保存爲創建它的人員。我該怎麼辦?設計認證寶石:如何保存登錄的用戶ID?
我在Ruby on Rails 3應用程序中使用Devise Ruby gem。當登錄用戶創建我的模型之一時,我想將其用戶ID保存爲創建它的人員。我該怎麼辦?設計認證寶石:如何保存登錄的用戶ID?
創建名爲user_id
integer
類型的列遷移文件,這是該關聯將被保存。 (有關如何執行此操作的詳細信息,請參見migration guide)。
,添加:belongs_to :user
(見associations guide瞭解詳細信息)
,在創建動作添加@your_model.user = current_user
。這將做你正在尋找的協會。 (current_user
是通過設計出返回用戶的ActiveRecord用於用戶當前登錄提供了一種方法)
注:有做實際的關聯的方法不止一種。我建議在控制器中執行此操作,但可以在模型中或其他位置完成。
對於mvc模型是否照顧它會不會更安全或更貼合?你將如何實現? – 2012-09-12 05:01:48
模型中有很多方法可以做到這一點。其中之一是使用before_create(請參閱:http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html)強制與current_user進行關聯。 – 2012-09-25 14:19:34