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不起作用的见解将非常感激。谢谢!
答
请参考这个问题,并尝试一下,
client_side_validations (3.1.0) not working when new form is added to the DOM
如果不解决, 告诉我。
11月以来有什么进展?我似乎也有这个问题 – Ivan
不,放弃:( – Ian
http://*.com/questions/6750174/client-side-validations-3-1-0-not-working-when-new-form-被添加到所述-DOM – beck03076