這可能是一個小菜鳥問題,但我總是問。使用CanCan設計
所以我正在構建一個應用程序,讓人們發佈帖子。所以這是一個社交網絡。
但我不希望人們能夠編輯和刪除他人的帖子。
我不認爲基於角色的系統會在這裏工作,因爲人們只管理自己的帖子只有。
我在想某種AR關聯,但我不知道這是否可行。
我要的是這樣的事情對我的app/models/ability.rb
:
class Ability
def initialize(user)
if current_user.username == @post.username
can :edit, Post
can :destroy, Post
end
end
end
我怎麼會去這樣做(假設模型User
和Post
)?
所以基本上我應該做一個User has Posts,或者用戶擁有並且屬於Posts?
什麼問題,你實際上有?你嘗試過嗎?另外,你不把用戶關聯到該帖子?爲什麼不'current_user == @ post.user'。或'@ post.owner' –
@IsmaelAbreu問題是我會如何去做,例如'has_many','has_one','has_and_belongs_to_many'。 – weddingcakes