0

我有两个模型userbio,它们都有一对一的关联。

每个用户都有一个传记。我的问题是,我想允许用户只编辑他们自己的传记,但一个用户可以从 url 编辑其他人的传记

例如“0.0.0.0:3000/biographies/8/edit”。在这里,用户可以轻松更改 id。

我怎么能阻止这个?

4

2 回答 2

0
before_filter :fetch_bio, :only => [:edit, :update]

def fetch_bio
  @biography = current_user.biographies.find(params[:id])
end
于 2012-08-28T07:50:21.110 回答
0

在您的biographies控制器中,在“编辑”操作(以及更新)下,将其插入到您的调用下方@biography = Biography.find(params[:id])

unless @biography.user == current_user
    redirect_to root_path, notice: "You cannot do that" and return
end
于 2012-08-28T06:11:03.927 回答