康康授权规则

时间:2013-02-07 03:41:37

标签: ruby-on-rails authorization cancan

我有康康授权问题。

我的情况是这样的。

User has_one Student

在StudentsController中,我得到了像这样的用户和学生

@user = User.where(:username => params[:username]).first
@student = @user.student

现在我如何编写cancan授权规则来编辑/更新 @student记录,以便记录的用户只能编辑他的学生记录,前提是 @用户可能是也可能不是登录用户。它只是用户使用用户名形式的参数。

我希望问题很清楚:)

由于

1 个答案:

答案 0 :(得分:1)

查看CanCan的维基:

https://github.com/ryanb/cancan/wiki/Defining-Abilities

您应该能够通过执行以下操作在能力模型中定义该能力:

can :edit, Student, :user_id => user.id