Ruby on rails 使用i18n在更新和创建之间更改文本

Ruby on rails 使用i18n在更新和创建之间更改文本,ruby-on-rails,ruby-on-rails-3,internationalization,Ruby On Rails,Ruby On Rails 3,Internationalization,我有一个模型,它对创建和更新控制器操作使用相同的表单。 没什么特别的。我让submit按钮根据使用en.yml的操作更改其文本 en: helpers: submit: location: create: "Add to map" update: "Save changes" 根据适当的操作,我将如何更改此表单上的正文 例如,如果是创造 <h1>Create new location</h1> 创建新位置 如果更新 <h

我有一个模型,它对创建和更新控制器操作使用相同的表单。 没什么特别的。我让submit按钮根据使用en.yml的操作更改其文本

en:
  helpers:
  submit:
    location:
      create: "Add to map"
      update: "Save changes"
根据适当的操作,我将如何更改此表单上的正文

例如,如果是创造

<h1>Create new location</h1>
创建新位置
如果更新

<h1>Update location</h1>
更新位置

您只需将文本添加到en.yml文件:

en:
  create_new_location: 'Create new location'
  update_location: 'Update location'
然后在视图中使用以下内容(创建/更新)

不过我建议不要这样做,因为很难判断你到底在翻译什么文本

<h1><%= I18n.t(params[:action] == 'create' ? 'create_new_location' : 'update_location') %></h1>
<h1><%= I18n.t(params[:action] == 'new' ? 'create_new_location' : 'update_location') %></h1>
I18n.t "location.action.#{params[:action]}"