混淆外部关系

Confuse about ecto relationship

我有以下架构:

  schema "countries" do

    belongs_to :lang, LanguageCode, foreign_key: :code
    field :text, :string

    timestamps

  end

  schema "languages_code" do

    has_one :code, Country, foreign_key: :lang
    field :text, :string

    timestamps
  end

我的问题是,当我要创建也应该属于 LanguageCode 的第三个 table 时:

schema "table3" do

  belongs_to :coun, CountryCode, foreign_key: :alpha2
  field :text, :string

  timestamps

end

我该如何修改 languages_code 模式?

如果我没记错的话,你问的是如何在 LanguagesCode 模型上表示 belongs_to 关系?

如果是这样,那么根据语言代码是否可以有一个或多个 table3 行属于它,您可以这样做:

 schema "languages_code" do

    has_one :code, Country, foreign_key: :lang

    #For has_one
    has_one :code, Table3ModuleName, foreign_key: :alpha2

    #For has_many
    has_many :code, Table3ModuleName, foreign_key: :alpha2 

    field :text, :string

    timestamps
  end

您当然会用包含 table3 table 架构定义的模块的实际名称替换 Table3ModuleName