设计和Client_side_validations

时间:2012-08-21 07:26:04

标签: jquery ruby-on-rails ruby-on-rails-3.2

您好我使用Devise gem并想使用Client_side_validation 我安装宝石并放

//= require rails.validations

in my assets / javasctipt / application.js

并以我添加的形式

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true ) do |f| %>

我认为这就是我需要做的...... 但是,当我解开我的拳击场时 - 没有任何反应(我的火虫中有一个警告) - &gt;

TypeError: settings is undefined
 .live('focusout', function() { $(this).isValid(settings.validators); })

不起作用 哪里有错误?

2 个答案:

答案 0 :(得分:1)

同样的问题,调查。

就我而言,似乎是客户端验证导出的js,在我的情况下是     window['user_new'] 与表单的ID不匹配     new_user

所以当rails.validation.js尝试获取数据时     var settings = window[form.attr('id')]; 它失败了。

[编辑]

在设计视图中,替换

= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true) do |f|

通过

= form_for(resource, :validate => true) do |f|

为我修好了!

不确定为什么:as => resource_name会反转资源的名称?

答案 1 :(得分:0)

您使用的是哪个版本? 3.2.0.beta.4为我修复了这个问题,相应的github问题here