-1

我有一个 Rails 注册表单,我正在使用jQuery 验证器进行验证。它在 localhost 上运行良好,但在 Heroku 上运行时,它似乎运行验证但也立即提交表单,导致页面重新加载并显示 Rails 模型错误。我通过没有在字段中输入任何信息、点击提交和 jQuery 错误来确认这一点 - 但页面立即开始重新加载(提交)。

添加debug: truevalidate()应该阻止表单提交并简单地显示错误的调用(同样,在 localhost 上工作)仍然会导致在 Heroku 上提交表单。

我花了几个小时控制台日志,一点一点地评论,没有结果。任何帮助或想法表示赞赏!

编辑:由于@Sparky 指出了必要性,添加了更多特定于代码的代码:

我正在使用jQuery validate gemjQuery payment gem。我有一个 JS 文件app/assets/javascripts,我正在使用特定于此页面的要求:

//= require jquery.payment
//= require jquery.validate
//= require jquery.validate.additional-methods

和内容:

$(document).ready(function () {
  $('.form-signup').validate();
});

我的 application.js 有:

//= require jquery
//= require jquery_ujs
//= require log
//= require_self

注册页面是一个 HAML 设计表单:

= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:class => 'form form-signup control-group' }) do |f|
 = f.input :first_name, :autofocus => true, :placeholder => "First name", :label => false
 = f.input :last_name, :placeholder => "Last name", :label => false
 = f.input :email, :placeholder => "Email", :label => false, :required => true
 = f.input :password, :placeholder => "Password", :label => false, :input_html => { minlength: 6 }, :required => true
 = f.submit "Sign Up Now", :class => 'btn btn-success', :id => "signup-button"

没有错误记录到控制台。

这在本地工作,但在 Heroku 上,jQuery 验证显示但它仍然提交表单。

4

1 回答 1

0

JQuery 验证在 JQuery 要求之后执行。

应用程序/资产/application.js

//= require jquery
//= require jquery
//= require jquery_ujs
//= require jquery.validate
//= require jquery.validate.additional-methods
//= require_tree .

and 

We need to include like this

= javascript_include_tag "application", "rails.validations"
于 2013-10-14T11:14:36.387 回答