如果当前用户是admin,我需要建议如何建模允许更新模型而无需验证。我做了一个简单的用户模型:
create_table "user", force: true do |t|
t.string "username",
t.string "password",
t.string "description",
t.string "title",
t.boolean "disabled"
end
所有用户都可以通过再次提供密码来更新其个人资料。管理员可以选择禁用这样的用户:
<%= link_to 'Disable', user_path(user, :user => {:disabled => true}), :method => :put %>
问题是在我的模型中我有以下验证:
validates :password, length: { minimum: 10 }
管理员触发操作以禁用用户后,错误显示密码太短且需要至少10个字符长。如何禁用admin的验证?
答案 0 :(得分:0)
validates :password, length: { minimum: 10 }, :unless => :admin?
def admin?
self.role == "Admin"
end
P.S:我不知道你需要检查一下用户是否是管理员。我假设你有一个角色列