无法包含用于客户端幻灯片验证的js文件

时间:2012-06-14 08:18:23

标签: jquery ruby-on-rails client-side-validation

我安装了gem'client_side_validations',运行bundle并运行rails g client_side_validations:install

安装DIDN“创建任何js文件,所以我创建了它们并将HitHub中的代码放在我的assets / javascript文件夹中。

在application.js中添加了一行

  //= require rails.validations  

在application.html.erb中添加了一行

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

并且验证无法在线工作(使用Devise gem)

在我看来:

 <%= form_for resource, ... , :validate => true do |f| %>

在GoogleChrome控制台日志中:

   Failed to load resource: the server responded with a status of 404 (Not Found)
"/assets/javascripts/rails.validations.custom.js"
"/assets/javascripts/rails.validations.js"

我错过了什么?

1 个答案:

答案 0 :(得分:2)

当您运行命令rails g client_side_validations:install时,它似乎只生成初始值设定项config/initializers/client_side_validations.rb

但是,在“安装”部分的github page下,他们提到了将javascript文件复制到项目资产的命令:rails g client_side_validations:copy_assets

注意:如果您运行Rails&gt; = 3.1,则无需再在布局中添加javascript文件,只要有<%= javascript_include_tag "application" %>就足够了application.js包含行//= require_tree .,其中包含app/assets/javascripts目录下的所有javascript文件。

在初始化程序client_side_validations.rb文件中,您还需要取消注释最后一个块:

# Uncomment the following block if you want each input field to have the validation messages attached.
ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
  ...
end

完成此操作后,您需要重新启动服务器才能使更改生效。