Rails 4 - 想使用I18n在公用文件夹中执行自定义错误页面

时间:2013-10-24 14:40:46

标签: ruby-on-rails ruby-on-rails-4 custom-error-pages rails-i18n

我在我的Rails 3.2.13应用程序中使用{/ 1}}中的自定义错误页面,其中包含我在errors_controller中的逻辑和app / views / errors中的视图。我正在使用Rails 3版本的路由过滤器gem来处理路由。我删除了gem,因为它不能与Rails 4一起使用。

我使用本机Rails功能重写了路由逻辑,并在Rails 4中重写了应用程序。使用本机Rails功能打破了我对自定义错误页面的逻辑。您可以阅读我试图纠正Ruby on Rails 3.2.13 - Getting Error With Custom Error Pages Using I18n上的逻辑的详细信息。我已经做了很多关于此的网络搜索,但我找不到任何关于此的信息。我找到了多种解决方案,据称可以用于尚未本地化的网站。但是,我需要一个本地化的网站。

我现在决定尝试通过将错误页面移回公用文件夹来实现此目的。我可以将我的html.erb文件从app / views / errors移动到公共文件夹,页面在locale文件中查找我的翻译吗?我再次进行了许多网络搜索,截至目前,我还没有找到使用I18n的Rails 4应用程序的自定义错误页面的任何示例。 Rails指南中没有关于公用文件夹或其他任何地方的错误页面的信息。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

在搜索过去几天之后,我决定尝试在Stack Overflow上的帖子中阅读的内容。在How can I use i18n for my error pages in Rails 3?上提出的解决方案在Rails 2.3中引入。解决方案的一部分是为每个可用的语言环境(如404.en.html)创建一个html文件。 404.fr.html等。它包括在lib / tasks中添加一个文件,以及其他比我想做的更多的东西。

我决定继续为每个语言环境创建html错误文件,而不做其他建议的事情。逻辑非常有效。

似乎已弃用config.exceptions_app = self.routes。我不能正式说这个,因为我从来没有找到任何文件说明这一点。我成功更新了所有本地化的Rails应用程序。

更新11/8/2013 9:35 am CST

我在其他博客文章中发布了有关我的问题的问题,他们在Rails 3中讨论了自定义错误页面。其中一篇博客文章作者确认在Rails 4中不推荐使用exceptions_app的访问者。感谢自定义错误页面进程已经在Rails 4中进行了简化。