无法在生产环境中解析的路线(Rails 2.3.5)
Posted
技术标签:
【中文标题】无法在生产环境中解析的路线(Rails 2.3.5)【英文标题】:Routes not resolving in Production Environment (Rails 2.3.5) 【发布时间】:2010-08-14 14:25:35 【问题描述】:我正在将我的应用部署到在 Apache 上运行乘客的实时服务器。我已经在本地测试了该应用程序,并且我的路线看起来不错。我在 app/controllers/content 下有我的公共控制器,在 app/controllers/admin 下有我的管理员控制器。
尽管在开发环境中一切正常,但我得到“您要查找的页面不存在”。当我请求 http://mydomain.com/content/compare
时出错。 (即Content::CompareController#index
)。
我的生产日志包含以下行:Processing ContentController#compare (for 86.40.236.34 at 2010-08-14 15:03:15) [GET]
Authentication: session found, user_id is set
ActionController::UnknownAction (No action responded to compare. Actions: ):
我已调用 rs.recognize_path 'content/compare' 并收到错误消息:
ActionController::RoutingError: No route matches "content/compare" with
但是,相同的命令适用于我的开发机器。我试过添加这条线
map.connect 'content/:controller/:action'
到路由配置文件,但这没有任何影响,我认为从长远来看它也没有用。
对此有何建议? Rails 环境之间存在不一致似乎很奇怪。
提前感谢您的帮助,
【问题讨论】:
【参考方案1】:我们可以查看您的routes.rb
文件吗?
似乎在您的生产机器上,它试图调用ContentController
中的compare
方法。这是您要调用的方法还是index
?
我猜你的路由文件有问题。您可以通过运行rake routes
在两种环境中进行比较。
【讨论】:
以上是关于无法在生产环境中解析的路线(Rails 2.3.5)的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Webpack 在生产环境中使用 Bootstrap CSS