如何从1个对象保存多个翻译而不用Globalize重置I18n.locale?

时间:2014-03-19 02:30:53

标签: ruby-on-rails-3 globalize

我正在尝试将控制器设置为使用如下对象保存多种语言:

{ text: { fr: "francais", en: "English" } }

1 个答案:

答案 0 :(得分:2)

在你的控制器ex:(models_controller.rb)

def create
  model = Model.new model_save_param
  model.save
end
def model_save_params
  translations_attributes: params[:model][:text].map { |locale, translation| {locale: locale, text: translation} }
end

在您的模型中:(model.rb)

translates :text
accepts_nested_attributes_for :translations

或者,有一个Gem Globalize Accessor可以完成这项工作