Rails服务器无法加载页面。

3

我正在开发一个基于Rails 3.2.13的应用程序,并运行rails server命令。

服务器正常工作,但是当我尝试渲染这个页面时出现了问题:

localhost:3000/items/1/edit

从这一点开始,我尝试访问的任何页面都无法加载。奇怪的是,日志上没有显示任何错误消息。日志看起来就像停止响应了。
更多背景信息是,今天早上我尝试从sqlite切换到MySQL,在此之前,rails服务器工作得非常好。然后我放弃了mysql gem的安装(因为error),并回到了我的旧database.yml和gemfile,所以我不认为安装尝试会影响它。
有人知道正在发生什么吗?
2个回答

4
一些想法:
尝试在当前工作目录的命令行中运行“rake routes”(而不是在服务器上),只是为了确保你的“item/:id/edit”存在。
如果它没有起作用,你会想要运行类似于以下内容的东西:
resources :items

如果你只想显示新建和编辑路由,请尝试以下方法:

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

如果不是这种情况,请检查您的item/:id/edit是否设置为get而不是post。如果是post,并且您没有发布,它将无法工作。
最后,请确保运行bundle update
我唯一能考虑的其他问题是,您可能已经创建了一个空白的edit.html.erb视图,没有任何内容显示出来。

路由看起来没问题,运行了bundle update,edit.html.erb也不是空的,但还是不能正常工作... - jytoronto
你的服务器日志上完全没有任何记录吗? - Noah Koch
当我尝试渲染/items/1/edit页面时,它完全没有任何反应。在那一点之后不会再有新的文本出现。 - jytoronto

0

终于搞定了。原来是我渲染了一个破坏页面的局部文件。 现在问题已经解决。

更具体地说,我在局部文件中嵌入了一个 Ruby while 循环,而停止条件从未满足。因此,本质上我正在渲染一个无限循环,这就解释了不响应的行为。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接