2011-12-05 73 views
0

我正在使用Devise進行用戶認證和基本認證。假設我已經定義了用戶和汽車之間的兩個相互關聯。在Rails中,授權用戶訪問模型的最佳做法是什麼?

  • 用戶has_many :cars
  • 汽車belongs_to :user

用戶A ID爲1車,用戶B擁有ID的汽車2.

什麼是防止用戶A的最佳實踐訪問資源/cars/2?我可以爲每個控制器添加一個before_filter:show,:edit,:update,:destroy,但這看起來很乏味和重複。有什麼辦法可以將Devise或CanCan用於此目的?

回答

2

您可以使用康康舞對於這一點,添加load_and_authorize_resource到控制器的頂部

您可以將下面的行添加到您的能力模型,只允許汽車所有者後,這裏https://github.com/ryanb/cancan

閱讀更多關於它管理它

可以:管理,汽車,:USER_ID => user.id

相關問題