我在一个页面上有2个模型用户表单 – 这就是问题,为什么我收到错误Uncaught TypeError:无法读取未定义的属性’presence’.当我删除一个form_for @user时,客户端验证工作正常.但是,如果在一个页面上是两个模型和两个形式@user.
解决方法
对我来说,你在评论中描述的第二个错误,即Uncaught TypeError:无法读取未定义的属性’first_user [name]’显然是由转置的表单ID引起的.
关于它的ClientSideValidation存在一个问题:
https://github.com/bcardarella/client_side_validations/issues/325
添加html => {id:’user_new’}到form_for调用解决了问题.我现在调用这样的方法(从Devise的原始模板修改):
<%= form_for(resource,:as => resource_name,:validate => true,:html => { id: 'user_new' },:url => registration_path(resource_name)) do |f| %>
HTH.