Jquery “客户端验证返回”;未捕获类型错误:无法读取属性';存在';“未定义”的定义;

Jquery “客户端验证返回”;未捕获类型错误:无法读取属性';存在';“未定义”的定义;,jquery,ruby,ruby-on-rails-3,client-side-validation,Jquery,Ruby,Ruby On Rails 3,Client Side Validation,我在一页上有两张模型用户的表单——这就是问题所在,为什么我会得到错误未捕获的类型错误:无法读取未定义的属性“presence”。当我为@user删除一个表单时,客户端验证运行良好。但如果一个页面上有两个模型和两个表单@user,则不会 但问题是,我需要在一个页面上有这个模型,并形成两个表单。有什么办法可以解决这个问题吗?请确保为两个用户使用不同的参数标识符: <!-- First form for user --> <%= form_for(@user, :as => :

我在一页上有两张模型
用户的表单
——这就是问题所在,为什么我会得到错误
未捕获的类型错误:无法读取未定义的属性“presence”。当我为@user删除一个表单时,客户端验证运行良好。但如果一个页面上有两个模型和两个表单@user,则不会


但问题是,我需要在一个页面上有这个模型,并形成两个表单。有什么办法可以解决这个问题吗?

请确保为两个用户使用不同的参数标识符:

<!-- First form for user -->
<%= form_for(@user, :as => :first_user) do |f| %>
  ...
<% end %>

<!-- Second form for user on the same page -->
<%= form_for(@user, :as => :second_user) do |f| %>
  ...
<% end %>

:第一个用户)do | f |%>
...
:第二个用户)do | f |%>
...

对我来说,您在注释中描述的第二个错误,即
未捕获的TypeError:无法读取未定义的
的属性“first_user[name]”显然是由转置的表单ID引起的

这里有一个关于ClientSideValidation的问题:

html=>{id:'user_new'}
添加到
form_for
调用解决了这个问题。我现在这样调用该方法(从Desive的原始模板修改):

资源名称,
:validate=>true,
:html=>{id:'user_new'},
:url=>注册路径(资源名称))do | f |%>

HTH.

谢谢您的回复。我试图使用标识符,但当我这样做时,我收到了错误消息(JS error)
Uncaught TypeError:cannotread属性“first_user[name]”的undefined
<%= form_for(resource,
  :as => resource_name,
  :validate => true,
  :html => { id: 'user_new' },
  :url => registration_path(resource_name)) do |f| %>