0

我遇到了一个奇怪的问题,好像 Rails 正在跳过我的特定操作的运行。我有两个运行它的环境。一个(开发)工作正常并运行动作。另一个(暂存)未运行该操作。

错误是 Rails 无法在视图目录中为我的给定操作找到模板,该操作仅应使用 JSON(无模板)响应。我已经完成了该操作的登录,但它根本没有运行。Rails 立即失败,说视图不存在。

只是为了覆盖我的基础,我已经验证了代码确实是相同的,我的路由文件完全相同,并且我的 rails 版本(3.0.1)在两个环境之间完全相同。任何帮助在这里都会非常好。

4

1 回答 1

0

显然这是在facepalm部门。我们的一位开发人员提交了一个新的控制器,它的文件名不同但控制器类名与另一个控制器相同。一定是在开发中,rails首先加载了新的控制器,所以旧的控制器会覆盖它并且问题被隐藏了。然而,在阶段,似乎新控制器是最后加载的,它蚕食了我们的控制器类和方法,把一切都搞砸了。

我很想知道其他人是否在 Rails 中遇到过这个问题。可能需要修补控制器加载代码以始终使用相同的排序机制(似乎文件名是最自然的)。

于 2011-03-18T20:57:51.087 回答