首页 > 解决方案 > 使用国际化时如何渲染正确的视图

问题描述

当模板依赖于语言环境时,如何在控制器操作中呈现正确的模板。例如,如果您有两个文件edit.html.erbedit.fr.html.erb,您如何render :edit根据语言环境调用?

标签: ruby-on-railslocalizationinternationalization

解决方案


你可以做:

def edit
  if params[:locale].present?
    render "edit.#{params[:locale]}"
  end
end

如果:locale参数不存在,则edit.html.erb模板将默认呈现。正如@Sandra 所说,最好只使用I18n模板中的字符串,除非您有一个无法实现的要求。


推荐阅读