ruby-on-rails - 使用国际化时如何渲染正确的视图
问题描述
当模板依赖于语言环境时,如何在控制器操作中呈现正确的模板。例如,如果您有两个文件edit.html.erb
和edit.fr.html.erb
,您如何render :edit
根据语言环境调用?
解决方案
你可以做:
def edit
if params[:locale].present?
render "edit.#{params[:locale]}"
end
end
如果:locale
参数不存在,则edit.html.erb
模板将默认呈现。正如@Sandra 所说,最好只使用I18n
模板中的字符串,除非您有一个无法实现的要求。
推荐阅读
- mysql - 错误:无法为数据库引擎 MYSQL 加载 /usr/local/lib64/kamailio//kamctl/kamdbctl.mysql 中的脚本
- excel - 使用互操作访问 Excel 中的名称时出错
- ios - 项目错误:此 mkspec 需要 Xcode 4.3 或更高版本
- java - 如何在代码中表示上下文无关语法?
- android - 如何使用 Dagger 为构造函数注入提供自定义依赖项
- python - 当用户输入“exit”时退出无限循环(python),但如果用户输入一个数字,则将其与 50 进行比较
- javascript - 逐步从包含每个 JS 文件转向模块捆绑
- android - 为什么我不能在 Android Studio 中同步我的项目?
- ios - Nativescript 页面转换崩溃:“应用程序试图以模态方式呈现活动控制器”
- laravel - 为什么 ebextensions 被忽略