2011-11-13 11 views
2

私はRails 3.1でコメントシステムを作ろうとしています。基本的なフォームをclient_side_validations gemで検証し、Ajaxを使用して動的に追加することです。私が宝石を追加する前に、すべてが機能していました(エラー処理は例外です)。 gemを追加した後、ページはフォーム送信時にリロードされます。 client_side_validationsの宝石は、これを引き起こしている可能性がありますエラーが表示されます - 私はどのように/理由はわかりません。私が手にJavascriptのエラーは次のとおりです。Ajaxフォームがclient_side_validations gemによって壊れていますか?

TypeError: 'undefined' is not an object (evaluating 'validators[this[0].name]') 

マイフォームコード:

= simple_form_for([@post, @post.comments.build], :remote => true, :validate => true) do |f| 
    #comment-left 
    = f.input :name 
    = f.input :email 
    = f.input :website 
    #comment-right 
    = f.input :content, :as => :text 
    = f.button :submit 

コントローラーコード:

def create 
    @post = Post.find(params[:post_id]) 
    @comment = @post.comments.new(params[:comment]) 

    respond_to do |format| 
     if @comment.save 
     format.html { redirect_to post_path(@post) } 
     format.js 
     else 
     format.html { redirect_to post_path(@post) } 
     format.js 
     end 
    end 
    end 

Create.js.erbコード:

$('<%= escape_javascript render(:partial => @comment) %>').hide().insertBefore('#new_comment').slideDown(); 

最後に、部分コード:

.comment 
    = image_tag(comment.gravatar_url) 
    %span 
    Posted by 
    - unless comment.website.blank? 
     = link_to comment.name, comment.website 
    - else 
     = comment.name 
    on 
    = comment.created_at.strftime('%m.%d.%Y') 
    %p= comment.content 

私はそれがすべて関連していると思います。モデルコードが必要な場合は、そのように言います。私はそれを提供します。しかし、カスタムバリデーターは使用されていません。なぜclient_side_validationsが機能していないのかについての洞察は非常に高く評価されます。ありがとう!

+0

11月以降の進捗状況はありますか?私もこの問題を抱えているようです – Ivan

+0

いいえ、あきらめました:( – Ian

+0

http://stackoverflow.com/questions/6750174/client-side-validations-3-1-0-not-working-when-new-form-ドームに追加された – beck03076

答えて

関連する問題