4

client_side_validations gem を機能させるためにかなりの時間を費やしましたが、テキストが表示されず、フォームの後にスクリプト タグが挿入されていません。Railsで生成された標準フォームとDeviseフォームの両方で試してみました。rails.validations.js ファイルをインクルードし、gem で提供されているイニシャライザー内のブロックのコメントを外したことを確認しました。

これが私のコードです:

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 を参照する必要がありますか? gem が実際に機能しているかどうかを確認するにはどうすればよいですか?

現在Rails 3.2.13を使用しています

javascript コンソールでエラーが発生しません。

関連ファイルをご覧になりたい場合は、お知らせください。

任意のポインタは非常に高く評価されます!

4

1 に答える 1

2

Gemfile で次のことを試してください。

gem 'client_side_validations`, :github => 'bcardarella/client_side_validations', :branch => '3-2-stable'
于 2013-04-10T22:51:57.457 に答える