Rob*_*ion 6 html elixir phoenix-framework
我有一个默认的Phoenix应用程序.这个应用程序将有一个page_controller
将加载index.html.eex文件.
该应用程序将知道使用view访问权限templates/page/index.html.eex.
现在说你已经创建了另一个html页面,index.html.eex除了它是法语之外,它在各个方面都是相同的.
因为我们不想创建一个全新的Phoenix应用程序,它将具有所有相同的代码,除了当前的法语翻译之外page/index.html.eex,有没有办法告诉视图或控制器需要加载哪个文件.
是否有可以放置在路由器中的插头来改变render寻找模板的位置?
首先,我建议您使用 Gettext 为法语页面使用标签。
例如,您可以将所有法语模板保留在相同的文件夹中(不更改视图逻辑),但使用后缀命名它们,例如。“index_fr.html.eex”等,然后您可以编写非常简单的帮助程序(不一定是插件),将这个后缀添加到您的所有模板中。
尽管如此,我仍然建议您使用 Gettext - 模板的源代码仅就位,几乎所有逻辑 Gettext 都会为您处理。