4

モデルのフォームが1ページに2つあります。Userこれが問題であり、エラーが発生する理由ですUncaught TypeError: Cannot read property 'presence' of undefined1つのform_for@userを削除すると、クライアント側の検証が適切に機能します。ただし、1つのページに2つのモデルと2つのフォーム@userがある場合はそうではありません。

しかし、問題は、このモデルを1ページに配置し、2回形成する必要があるということです。この問題を解決する方法はありますか?

4

2 に答える 2

2

私にとって、コメントで説明する2番目のエラー、つまりUncaught TypeError: Cannot read property 'first_user[name]' of undefined、転置されたフォーム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。

于 2012-05-28T12:08:23.923 に答える
1

両方のユーザーに異なるパラメーター識別子を使用していることを確認してください。

<!-- 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 %>
于 2012-05-14T10:10:47.120 に答える