相关疑难解决方法(0)

如何在update_attributes期间以管理员身份跳过验证?

当我尝试将用户编辑为管理员时,我想跳过验证.

模型

class User
  ...
  attr_accessible :company_id, :first_name, :disabled, as: :admin
Run Code Online (Sandbox Code Playgroud)

调节器

class Admin::UsersController
  ...
  def update
    @user = User.find(params[:id])
    @user.update_attributes(params[:user], as: :admin)
    redirect_to edit_admin_user_path(@user), :notice => "User Account Updated"
  end
Run Code Online (Sandbox Code Playgroud)

所以我试着改变update行动

def update
  @user = User.find(params[:id])
  @user.attributes = params[:user]
  @user.save(validate: false)
  redirect_to edit_admin_user_path(@user), :notice => "User Account Updated"
end
Run Code Online (Sandbox Code Playgroud)

但后来我没有访问set :disabled:company_id属性,因为我不知道在哪里设置as: :admin

ruby validation ruby-on-rails ruby-on-rails-3

7
推荐指数
2
解决办法
5243
查看次数

标签 统计

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1

validation ×1