0
我有點像catch22情況。attr_accessible <->:as =>:admin <-> db:seed <->
- 如果必須保護用戶的'角色'屬性不受質量分配問題的影響,我必須使用attr_accessible並將其排除。
- 但是,如果我必須允許管理員設置它,那麼我必須添加:as =>:admin使用assign_attributes。
- 但是,如果我必須設置一些默認角色,db:seed將不起作用。
有沒有辦法完成所有三個需求?
謝謝。
我安裝了sudo_attributes,現在我可以在我的模型中使用attr_accessible並使用sudo_create!即時我的控制器和seeds.rb,它的一切都很好。我能夠滿足原始問題中的所有3個要求。當我有空閒時間時,我會喜歡偷看你的寶石,看看你是如何做的。謝謝! – bytemonger 2012-07-18 15:00:01
很高興幫助,隨時upvote我的回答:)。該gem實質上是內置Rails方法的包裝,並不需要任何真正的魔法。我發現自己與你的情況很相似,所以我寫了它。 https://github.com/beerlington/sudo_attributes/blob/master/lib/sudo_attributes.rb#L94 – 2012-07-18 17:22:35
非常有趣 - 今天掙扎着,我的控制器更新方法變得非常醜陋,試圖使用attr_accessible角色功能......將絕對檢查你的寶石,但也很好奇核心團隊期望我們做什麼 - 沒有樣本涵蓋更新案例。 – MBHNYC 2013-01-29 19:04:05