3

我正在开发 Rails 3.2.13 应用程序,我运行了rails server.

服务器工作正常,但直到我尝试渲染此页面:

localhost:3000/items/1/edit

从此时起,我尝试访问的任何页面都不会被加载。奇怪的是,日志上没有显示错误消息。日志看起来就像它停止响应。

作为更多背景信息,今天早上我尝试从 sqlite 切换到 MySQL,在此之前,rails 服务器工作得很好。然后我放弃了 mysql gem 的安装(因为错误),并回到我的旧database.ymlgemfile,所以我不认为安装尝试会影响它。

有谁知道发生了什么?

4

2 回答 2

4

一些想法:

尝试运行rake routes(在您当前工作目录的命令行中,而不是在服务器中)只是为了确保您item/:id/edit存在。

如果它不起作用,你会想要运行一些符合

resources :items

如果您只想显示新路线和编辑路线,请尝试以下操作:

resources :items, only: [:edit,:new]

如果不是这种情况,请检查您item/:id/edit的设置是否设置为获取而不是发布。如果它是一个帖子,而你没有发布,它就不会起作用。

最后,一定要运行bundle update

我可以考虑的唯一其他问题是您可能创建了一个空白的 edit.html.erb 视图,但没有显示任何内容。

于 2013-07-25T20:52:58.787 回答
0

终于想通了。原来我正在渲染一个破坏页面的部分。现在问题已解决。

更具体地说,我在部分中嵌入了一个 ruby​​ while 循环,并且从未满足停止条件。所以本质上我是在渲染一个无限循环,这解释了无响应的行为。

于 2013-07-26T13:35:50.950 回答