我正在尝试更新已通过globalize3
翻译内容的模型。为此,我需要多次更改语言环境以更新模型。但是,update_attributes
方法似乎不接受块作为参数。有没有其他方法可以实现以下目标?
Country.where(code: 'NLD').first_or_create.update_attributes do |country|
I18n.locale = :en
nld.name = 'Netherlands, The'
I18n.locale = :nl
nld.name = 'Nederland'
end
我正在进行first_or_create
后跟update_attributes
的原因是我希望能够多次运行我的种子文件并相应地更新数据。
答案 0 :(得分:1)
G3有set_translations
方法,所以你可以
Country.where(code: 'NLD').first_or_create.set_translations(
:en => { :name => 'Netherlands, The' },
:nl => { :name => 'Nederland' }
)