【问题标题】:Rails - three renders as HTML, as */* and as HTML on one query to root#indexRails - 三个呈现为 HTML,作为 */* 和作为一个查询到 root#index 的 HTML
【发布时间】:2013-07-30 12:04:41
【问题描述】:

在对我的站点根目录进行一次查询后,我会在日志中看到这些字符串:

Started GET "/" for 192.168.1.3 at 2013-07-30 17:55:36 +0600
Processing by WelcomeController#index as HTML
Image Load (0.5ms)  SELECT `images`.* FROM `images` ORDER BY `images`.`id` DESC LIMIT 4
...

Started GET "/" for 192.168.1.3 at 2013-07-30 17:55:38 +0600
Processing by WelcomeController#index as */*
Image Load (0.4ms)  SELECT `images`.* FROM `images` ORDER BY `images`.`id` DESC LIMIT 4
...

Started GET "/" for 192.168.1.3 at 2013-07-30 17:55:41 +0600
Processing by WelcomeController#index as HTML
Image Load (0.5ms)  SELECT `images`.* FROM `images` ORDER BY `images`.`id` DESC LIMIT 4
...

这对于 Rails 来说是正常的吗?为什么 Rails 对一个查询进行三重处理?请帮帮我。

【问题讨论】:

    标签: ruby-on-rails rendering


    【解决方案1】:

    不,这看起来不正常。

    您的服务器设置可能有问题,因此对某些资产或网站图标或其他任何内容的请求最终会路由到 WelcomeController#index。很难猜测为什么会发生这种情况。因此,您应该提供记录在浏览器开发控制台(网络选项卡)、前端服务器配置(如果使用的话)和 config/routes.rb 文件中的 http 请求。

    【讨论】:

    • 哦!是的。这是。我发现一个具有属性 src 的图像标签具有“要重写”而不是“picture.gif”的值。该属性在某些用户操作上动态重写,当我清理它时(src =“”),rails 将处理双倍而不是三倍。比我寻求第二件事,这可能会查询第二个处理。按照您的建议,当我在我的 chrome 浏览器中查看开发控制台时,我发现了它。此未定义图片在“发起者”列中生成状态“重定向”
    • 一段时间后,我发现了重复渲染的第二个原因。第二件事是在开发控制台中检测。我查看“Initiator”列,发现未找到加载 JavaScript 库文件。删除此文件的链接后,我会为每个查询获得一个渲染到根目录。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    相关资源
    最近更新 更多