643686f220486116fdc0c6f3d4f0a5d9

請教一下canca的用法

2012-02-20 18:21:38 +0800t73811260Ruby 節點 中發起
最後由 t738112602012-02-23 17:50:06 +0800回應 , 197次閱讀

Dear all

小弟在實作cancan的時候遇到一個問題

cancan可以用Ability 帶user的資訊,去控制討論版的相關動作(權限)

那小弟如果有某個版具有權限,特定user才能read、edit之類的(而且user一樣具有權限)

請問有什麼方向可以指引小弟嗎??

因為我的Ability抓不到版的id,所以沒辦法去做判斷

還是有什麼範例可以參考嗎???

有請諸位為小弟解惑 。

截至 2012-02-23 17:50:06 +0800,共收到 6 條回應
9d2e6bb4d10672f4076692afa73e93be
ywencn 2樓, 於2012-02-21 15:45:52 +0800回應

实在没大看明白楼主在表达什么。
你可以看看这个
http://asciicasts.com/episodes/192-authorization-with-cancan

30fcee313005cf38c2e572bdd0c6600e
lb563 3樓, 於2012-02-22 00:31:46 +0800回應

#2樓 @ywencn 是的这个是一个较好的教程,

643686f220486116fdc0c6f3d4f0a5d9
t73811260 4樓, 於2012-02-23 12:44:53 +0800回應

感謝兩位提供方法

我想我主要的問題是,我要如何把url的參數代進cancan做操作??

9d2e6bb4d10672f4076692afa73e93be
ywencn 5樓, 於2012-02-23 15:17:49 +0800回應

can :read, Project, :user_id => user.id
你说的是这个么?
只有?user_id=当前用户id 才有权限访问
http://github.com/ryanb/cancan/wiki/Defining-Abilities

643686f220486116fdc0c6f3d4f0a5d9
t73811260 6樓, 於2012-02-23 17:50:06 +0800回應

ywencn 大大

我在Ability有一個cancan判斷會長這樣:

can :read Board do |board|
role.permission_level > board.permission_level
end

有個網址可能長這樣
forum.xxxx.com/board/12345

然後board 的model有一個欄位是permission_level

如果user的role的permission_level大於board的permission_level

就可以看這個版,類似這樣,還是我想的太複雜了??哈哈哈

還有簡單一點的作法之類的嗎:D

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊