0

这个问题是由于我对英语和 jQuery 的认识或其他原因造成的。我正在使用 jQuery 教程 - http://blog.bernatfarrero.com/jquery-and-rails-3-mini-tutorial/

在我的 application.erb.html 中:

<%= javascript_include_tag :defaults, "rails.validations", "rails.validations.custom" %>
<%=  javascript_include_tag  "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"%>
<%=javascript_include_tag  "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"%>

我想我没有包含一些库,因为我的页面在视图中。

但我的页面看起来像:

    0 Comments
    Say something!

已编辑

我的生成器没有创建 js 文件,所以我创建了文件 rails.validations.custom.js 并从 GitHub 添加了代码:

   ClientSideValidations.validators.local['email'] = function(element, options) {
    // Your validator code goes in here
      if (!/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i.test(element.val())) {
    // When the value fails to pass validation you need to return the error message.
    // It can be derived from validator.message
    return options.message;
      }
    }
4

1 回答 1

2

该问题的评论线程越来越长,因此我将创建一个答案。

通过查看 firebug 控制台,我们已经确定您的两个 JavaScript 文件不在您的应用程序期望的位置:

/assets/defaults.js
/assets/rails.validations.custom.js

您需要做的是将这两个文件移动到/assets目录中,或者修改文件路径以指向这两个文件实际所在的位置。

我不是一个 Rails 人,但这是我对你如何做到这一点的猜测:

<%= javascript_include_tag :defaults, "/js/rails.validations", "/js/rails.validations.custom" %>

认为这会在/assets/js目录中查找文件,但显然您需要修改路径以指向文件的实际位置。我敢肯定,rails 开发人员会插话并告诉我我是否弄错了!

于 2012-06-14T08:45:26.470 回答