我正在使用Ruby on Rails 3,我想知道我的验证新记录的方法是否合适。
我不使用常见的RoR验证系统,因此在我的模型中,我有所有这些自定义验证方法:
def validates_user_name(user)
...
end
def validates_user_surname(user)
...
end
...
我以这种方式从控制器调用
def create
...
@user.validates_user_name(params[:user])
@user.validates_user_name(params[:user])
...
end
验证新用户的创建是一种好方法吗?黑客使用这种方法会有问题吗?
答案 0 :(得分:1)
我认为你很难说服任何人你的自定义验证比Rails内置的更好,特别是如果验证逻辑相似的话。
如果你仍然希望控制发生的事情,你应该利用像before_create这样的内置回调钩子。这样做有很多好处,包括自动事务回滚和解耦。但是,如果你正在做的事情已经由Rails完成,那么重新发明轮子是不可取的。