2011-07-15 78 views
0

我創建了一個本質上是受保護管理後端的公共網站(即,唯一的用戶將是管理員本身)。Rails:如何設置或切換管理狀態而不進行質量分配?

由於我的應用程序現在站立,可以通過應用程序來創建用戶(雖然用戶#新用戶#編輯是訪問現有管理員)。爲了與安全最佳實踐保持一致,我已將我的:admin布爾屬性保留在我的attr_acessible之外,因此無法通過批量分配來分配或切換用戶的管理員狀態。

class User < ActiveRecord::Base 

    attr_accessible :name, :email, :password, :password_confirmation 

end 

我目前只能通過控制檯分配管理狀態,但我想爲我的客戶能夠創建新的用戶,讓他們從應用程序內管理狀態。

我該如何處理相應的user.toggle!(:admin)從應用程序內,沒有大規模任務?

回答

2

Here is a great tutorial它適合您的需求。

+0

我會看看做#update_attbute在這一點上,因爲它似乎適合我。感謝您的鏈接...我會報告結果。 – jasonmklug

+0

它的工作原理非常完美,我可以看到這對其他許多方面也是如何有用。謝謝! – jasonmklug

0

您可以使用CanCan gem來設置用戶權限。我認爲這會照顧你的問題的W/O質量分配:

http://rubydoc.info/gems/cancan/1.6.5/frames

+0

我進一步進入這個過程,我越想要從一開始就使用CanCan的寶石!不幸的是,這是我自己系統的最後一塊難題,所以我寧願不爲此安裝寶石。不過謝謝! – jasonmklug

0

嘗試使用命名空間的控制器,用於管理的目的和控制器,而不是形式