TypeError:Element.update不是函数
respond_to do |format|
format.js do
responds_to_parent do
render :update do |page|
page.replace_html 'errorLay', :text => "Page with the same name already exists."
page.show 'errorLay'
page.delay(2) do
page.hide 'errorLay'
end
end
end
end
end
答案 0 :(得分:1)
只能写
render :update do |page|
page.replace_html 'errorLay', :text => "Page with the same name already exists."
page.show 'errorLay'
page.delay(2) do
page.hide 'errorLay'
end
end
以及您用于Ajax的任何内容link_to_remote
或其他任何内容don't write
:update=>'some_div'
答案 1 :(得分:1)
可能是错误的,因为您尝试在respond_to块中使用responds_to_parent。
我不知道你是否可以混合它们。我建议不要使用respond_to块。 要正确回应请求类型,您可以这样做
if request.xhr?
responds_to_parent do
render :update do |page|
page.replace_html 'errorLay', :text => "Page with the same name already exists."
page.show 'errorLay'
page.delay(2) do
page.hide 'errorLay'
end
end
end
end
以这种方式只响应js,当ajax调用时。 但我建议使用rjs文件而不是从控制器渲染。
答案 2 :(得分:0)
听起来你忘了在你的版面中加入prototype.js
。确保你有
<%= javascript_include_tag "prototype" %>
在文档布局的HEAD部分。