轨道4+;Jquery验证&x2B;遥远的
我在这里面临一个问题,我有一个由Deviate创建的表单,我假设你们知道Deviate没有为我们的模型用户创建控制器文件,也就是说,我在views文件夹/Deviate/registration/new.html.erb中有一个表单,我使用jQuery验证插件进行客户端验证,因为gem不起作用,它已经完全过时,不再有支持,让它工作起来有点困难,无论如何,我有一个视图文件(表单),一个包含jquery验证规则和消息的轨道4+;Jquery验证&x2B;遥远的,jquery,ruby-on-rails,ruby,validation,Jquery,Ruby On Rails,Ruby,Validation,我在这里面临一个问题,我有一个由Deviate创建的表单,我假设你们知道Deviate没有为我们的模型用户创建控制器文件,也就是说,我在views文件夹/Deviate/registration/new.html.erb中有一个表单,我使用jQuery验证插件进行客户端验证,因为gem不起作用,它已经完全过时,不再有支持,让它工作起来有点困难,无论如何,我有一个视图文件(表单),一个包含jquery验证规则和消息的*.js文件,一个名为User的模型,我尝试做的是远程方法,这是jquery验证插
*.js
文件,一个名为User的模型,我尝试做的是远程方法,这是jquery验证插件的一个特性,唯一的问题是我不知道怎么做,我看过一些教程,但它们都是针对rails 3的,几乎完全不同,这就是我所说的教程:
我该怎么做?由于我没有访问用户控制器的权限,我用一些方法创建了一个用户控制器,我尝试添加这个方法(在上面的url中找到)
我还创建了一个到这个方法的路由,我不知道我是否做得正确
这来自教程(routes.rb):
这就是我在routes.rb中所做的(注意:我有一个名为user的控制器,而不是users):
我运行了rake路由,路由/用户/检查电子邮件在那里
最后,我为电子邮件输入输入了jquery规则:
remote: '/user/check_email'
它根本不起作用,它不能在客户端验证唯一性,表单提交也不起作用
我做错了什么?我只是想在客户端添加唯一性验证
提前谢谢 由于您使用的是rails 4,TurboLink可能已启用,在这种情况下,
$(文档)。ready
将无法工作,您必须使用:
$(document).on(“ready page:load”,function(){})代码>检查firebug。。是否触发电子邮件唯一性调用(打开firebug,转到控制台,尝试键入一些随机电子邮件,您应该会看到在您键入的每个单词上向服务器触发ajax调用)。此外,由于您使用的是rails 4,TurboLink可能已启用,在这种情况下,$(document)。ready将不起作用,您必须使用$(document)。on(“ready page:load”,function(){嘿,伙计们,多亏了你们,我把“$(document).ready”改为“$(document).在(“ready page:load”,function(){”上,它工作得很好!谢谢
map.check_email "users/check_email", :controller => "users", :action => "check_email"
map.resources :users
resources 'user' do
get 'check_email', :on => :collection
end
remote: '/user/check_email'