不,你无法删除此记录,rails 4.0.2

时间:2013-12-20 00:28:00

标签: ruby-on-rails

我想在控制器级别说,如果您要删除的角色==管理员,则不允许用户删除该角色。

我可以在视图中删除删除角色的删除链接,但这对控制器甚至模型级别没有帮助。

在Rails(4.0.x)中处理这个问题的方法

1 个答案:

答案 0 :(得分:1)

您可以使用before_filter完成此操作。在行动之前运行before_filter

因此,在您的控制器中,您可以添加:

before_filter :ensure_not_administrator, only: :destroy

#your actions go here

private

def ensure_not_administator
  @record = Model.find(params[:id])
  if @record.role == 'Administrator'
    flash[:error] = "Cannot delete this record"
    redirect_to where_you_want_to_go_path
    return false
  end
end