4

我花了相当长一段时间试图让client_side_validations宝石的工作,但没有文字显示出来,并在形式后没有脚本标签被注入。我已经用Rails生成的标准表单和Devise表单试过了。我已经确保包含rails.validations.js文件并取消注册gem提供的初始化程序中的块。Client_side_validations宝石在轨工作不3.2.13

这里是我的代码:

client_side_validations.rb

ActionView::Base.field_error_proc = Proc.new do |html_tag, instance| 
    unless html_tag =~ /^<label/ 
    %{<div class="field_with_errors">#{html_tag}<label for="#{instance.send(:tag_id)}" class="message">#{instance.error_message.first}</label></div>}.html_safe 
    else 
    %{<div class="field_with_errors">#{html_tag}</div>}.html_safe 
    end 
end 

JS包括

<%= javascript_include_tag "/javascript/rails.validations.js" %> 

的Gemfile

gem 'client_side_validations' 

标准轨形成

<%= form_for(@report, :validate => true) do |f| %> 
<%= f.hidden_field :url, :value => "http://#{request.host}:#{request.port}#{request.fullpath}" %> 

<%= f.label :elements %> 
<%= f.text_field :elements %> 

<%= f.label :comments %> 
<%= f.text_area :comments %> 

<%= f.submit "Send", :class => 'btn' %> 

设计形式

<%= form_for(resource, :validate => true, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
    <%= devise_error_messages! %> 

    <%= f.label "First name" %> 
    <%= f.text_field :first_name %> 

    <%= f.label "Last name" %> 
    <%= f.text_field :last_name %> 

    <%= f.label :email %> 
    <%= f.email_field :email %> 

    <%= f.label :password %> 
    <%= f.password_field :password %> 

    <%= f.label :password_confirmation %> 
    <%= f.password_field :password_confirmation %> 

    <%= f.label :privacy_policy, :class => 'checkbox' do %> 
    <%= f.check_box :privacy_policy %>I agree to the <%= link_to "Privacy policy", privacy_path %><% end %> 

    <%= f.submit "Sign up", :class => 'btn' %> 
<% end %> 

我是从字面上无所适从,以什么我可以做的旁边。我需要引用不同版本的gem吗?我如何检查宝石是否实际运行?

我目前使用的Rails 3.2.13

我没有收到在JavaScript控制台中的任何错误。

如果您想查看相关文件,请告诉我。

任何指针将非常感激!

回答

2

请尝试在Gemfile中的以下内容:

gem 'client_side_validations`, :github => 'bcardarella/client_side_validations', :branch => '3-2-stable' 
+0

非常感谢!原来我需要重新启动rails服务器。你是个明星! – JellyFishBoy 2013-04-10 23:08:55

+0

我现在正在得到客户端验证的问题,只有当我用设计提交表单时才触发。当我通过他们时,他们不会触发,任何想法为什么? – JellyFishBoy 2013-04-11 20:59:57

+0

对不起,我不使用Devise,所以我不确定你遇到了什么 – bcardarella 2013-04-12 04:53:07