我刚刚想出了如何使用I18n在公用文件夹中创建自定义错误页面。这些错误页面具有链接,可以将用户返回到应用程序中的页面,例如主页。
当我的应用程序运行时3.2.13我在application.rb中使用config.exceptions_app = self.routes
在app文件夹中有自定义错误页面。当我拥有该代码时,我所要做的就是使用指向我希望用户返回的路由的link_to语句。如果我在开发环境中,它将转到http://localhost:3000/somelink
,在生产中它将转到http://myrailsapp.com/somelink
。在Rails 4中重写它们后,我将它们替换为公用文件夹中的那些,因为在Rails 4中似乎忽略了config.exceptions_app = self.routes
。
公用文件夹中的错误页面是html,而不是html.erb,因此没有ruby / rails代码。我想复制以前我可以在错误页面中检查环境并指向localhost进行开发或我的域URL进行生产的内容。我目前的错误页面中的代码与此类似:
<a href="http://myrailsapp.com/en/home">My Link Text</a>
我绝对愿意将这些文件更改为html.erb文件。我最初想过这个,但是从我的研究和尝试我发现什么都不适用于Rails 4。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您不需要在html中进行任何“自动检测”,只需从网址中剪切域部分,然后使用本地路径。
只需将http://myrailsapp.com/en/home
更改为/en/home
。
是的,您确实需要开头的斜杠与链接中的current_url无关。