您好我使用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); })
不起作用 哪里有错误?
答案 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。