Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails部分呈现会导致空白页吗?_Ruby On Rails - Fatal编程技术网

Ruby on rails Rails部分呈现会导致空白页吗?

Ruby on rails Rails部分呈现会导致空白页吗?,ruby-on-rails,Ruby On Rails,我现在被一只虫子缠住了,这让我很困惑。我有一个 布局包含一些HTML和部分(用于导航)-有 除了收益率,没有别的了 如果导航包含在部分中,则我不会将任何内容返回给 浏览器(空白页),但其他一切正常 如果我删除该部分,页面工作正常 如果我把导航代码直接放在模板中,效果会很好 如果我用一个简单的字符串替换部分中的导航代码,我得到 又是空白页 有没有人知道问题可能是什么,或者知道如何解决 我可能会调试它?发现了问题,部分内容位于layouts文件夹中,而不是 相关控制器视图文件夹 但是,Rails引发

我现在被一只虫子缠住了,这让我很困惑。我有一个 布局包含一些HTML和部分(用于导航)-有 除了收益率,没有别的了

  • 如果导航包含在部分中,则我不会将任何内容返回给 浏览器(空白页),但其他一切正常
  • 如果我删除该部分,页面工作正常
  • 如果我把导航代码直接放在模板中,效果会很好
  • 如果我用一个简单的字符串替换部分中的导航代码,我得到 又是空白页
  • 有没有人知道问题可能是什么,或者知道如何解决
    我可能会调试它?

    发现了问题,部分内容位于layouts文件夹中,而不是 相关控制器视图文件夹

    但是,Rails引发了ActionView::MissingTemplate异常
    只有通过调试器才能看到,这可能是一个错误。

    首先,检查日志文件,查看是否在某处收到错误消息。如果这没有帮助,请执行以下步骤:

    • 制作模板的副本&部分,链接为原始模板
    • 测试他们是否表现出问题
    • 开始从它们中删除内容,直到您有了最简单的可能情况,仍然显示问题(您在部分测试中的字符串就是朝这个方向迈出的一步)
    • 如果您在这个过程中没有弄明白,请回来编辑您的问题,以包含简化案例的代码

    我曾多次犯过这个错误。问题总是可以通过更改有问题的模板或其中一个部分来解决的(在我的最新案例中,我在源代码中添加了一个空白行,位于
    之间,该行位于模板调用的部分中;更改模板本身没有任何效果)。真正奇怪的是,当我实际更改模板时,问题很少发生,但通常是在我更改相关内容时(例如,编辑页面中显示的图像或与页面相关的CSS)。虽然问题通常与分部有关,但整个页面是空白的,而不仅仅是分部提供的部分

    顺便说一句,重新启动web服务器(在本例中为Unicorn)并不能解决问题。运行Ruby 1.9.3、Rails 3.1.3。使用SASS和Unicorn


    更新:根据我的浏览器发送的“If none match”(如果不匹配)标题(这反过来又基于上一页的ETAG),刚刚确定Rails返回一个304 not modified。然而,与此同时,浏览器清除了窗口。因此,大概是Rails发送的内容导致浏览器清除了窗口。

    您是在生产模式下运行的吗?除非处于开发模式,否则堆栈跟踪错误不会显示在视图中。