Ruby on rails 为什么我的Rails应用程序会重定向到“数据:,”?
因此,当我在Rails 4应用程序中保存一条记录时,就会发生这种情况。以下是一些细节:Ruby on rails 为什么我的Rails应用程序会重定向到“数据:,”?,ruby-on-rails,ruby-on-rails-4,ace-editor,Ruby On Rails,Ruby On Rails 4,Ace Editor,因此,当我在Rails 4应用程序中保存一条记录时,就会发生这种情况。以下是一些细节: 我在用电话 数据属性在我的模型或应用程序中不存在 该表单是的标准表单(非远程) 记录确实保存成功,但随后它重定向到这个奇怪的URL 更新的代码是标准的scaffold样板 # PATCH/PUT /pages/1 # PATCH/PUT /pages/1.json def update respond_to do |format| if @page.update(page_params)
- 我在用电话
属性在我的模型或应用程序中不存在数据
- 该表单是的标准
表单(非远程)
- 记录确实保存成功,但随后它重定向到这个奇怪的URL
# PATCH/PUT /pages/1
# PATCH/PUT /pages/1.json
def update
respond_to do |format|
if @page.update(page_params)
format.html { redirect_to @page, notice: 'Page was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: 'edit' }
format.json { render json: @page.errors, status: :unprocessable_entity }
end
end
end
有人有什么想法吗?可能很简单,但我一辈子都搞不懂这个。让我知道我是否可以分享任何其他相关信息。在您的特定情况下(您的quickcast中显示的一个),Chrome认为这是一个安全风险,因为您正在提交一个
元素,其中包含使用[Rails'内置]插入页面可呈现内容的javascript异步javascript
要避免这种情况,您可以:
我相信这是因为您的@page
show
视图正在呈现转义的HTML和Javascript。Chrome可能有一些启发式方法来分析页面并确定它是什么类型的文档。因为它可能不是以
开头,所以Chrome假定它是一个带有数据:
协议的数据文件。尝试渲染为字符串并在控制台上打印结果:
见第4.1.1节
请使用show view模板、show action和日志从
render\u到\u string
更新您的答案,我忘了。。。我录制了一个可以看到的快速播放。您如何设置@page
变量?这可能是因为它不是一个页面类,这会导致第一个重定向到的页面不知道去哪里?也许这对你有帮助@page=page.find(params[:id])您没有错过var声明吗?@Marc AlexandreBérubé::实例变量正在由before_action筛选器设置,ala:before_action:set_page,仅:[:show,:edit,:update,:destroy]
puts render_to_string @page
data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K