Ajax表单被client_side_validations破坏了吗?

问题描述:

所以我试图在Rails 3.1中做一个评论系统。我们的想法是让基本表单由client_side_validations gem验证,并成功使用Ajax动态添加它。在我添加宝石之前,一切正常(除了错误处理)。添加宝石后,页面将重新加载表单提交。 client_side_validations gem似乎出错了,这可能会导致此 - 我不知道如何/为什么。 JavaScript的错误我得到的是:Ajax表单被client_side_validations破坏了吗?

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://*.com/questions/6750174/client-side-validations-3-1-0-not-working-when-new-form-被添加到所述-DOM – beck03076

请参考这个问题,并尝试一下,

client_side_validations (3.1.0) not working when new form is added to the DOM

如果不解决, 告诉我。