Ruby on rails 创建新对象后如何让Globalize创建所有本地化?

Ruby on rails 创建新对象后如何让Globalize创建所有本地化?,ruby-on-rails,globalize,Ruby On Rails,Globalize,我的Rails应用程序的一个名为Tools的模型使用Globalize进行翻译,当我创建一个新记录时,Globalize只将一个区域设置的记录保存到tool_translations表中,但我希望在创建时保存tool_translation中的所有记录,每个区域设置一个记录 现在,当我创建一个新工具时,工具翻译的结果如下: +--+--------+-------+------------+---------------------+ |id|tool_id | locale| name

我的Rails应用程序的一个名为Tools的模型使用Globalize进行翻译,当我创建一个新记录时,Globalize只将一个区域设置的记录保存到tool_translations表中,但我希望在创建时保存tool_translation中的所有记录,每个区域设置一个记录

现在,当我创建一个新工具时,工具翻译的结果如下:

+--+--------+-------+------------+---------------------+
|id|tool_id | locale| name       | description         |
+--+--------+-------+------------+---------------------+
|1 | 1      |  en   | Printer    | print documents     |
+--+--------+-------+------------+---------------------+
但我有其他地区,所以我希望在创建工具后在工具\u翻译表上得到以下结果:

+--+--------+-------+------------+---------------------+
|id|tool_id | locale| name       | description         |
+--+--------+-------+------------+---------------------+
|1 | 1      |  en   | Printer    | print documents     |
+--+--------+-------+------------+---------------------+
|2 | 1      | it    |            |                     |
+--+--------+-------+------------+---------------------+
我读过这篇文章:,这和我的问题很相似,但对我来说不起作用

这是我的工具模型:

class Tool < ApplicationRecord
  extend FriendlyId
  friendly_id :name, use: :slugged
  translates :name, :description
  before_save :name
  def name=(s)
    write_attribute(:name, s.to_s.capitalize)
  end
如果在工具模型中我将使用
default\u scope->{order(name::asc)}

def new
    @tool = Tool.new
  end

  def create
    @tool = Tool.new(tool_params)
    if @tool.save
      flash[:success]= t('.created')
      redirect_to admin_tool_path(@tool)
    else
      render 'new'
    end
  end