2

ActiveRecord の主キーを文字列にオーバーライドし、次のようなカスタム タイプを使用することができます。

create_table :system_currencies, :primary_key => 'iso_code' do |t|
      t.column :iso_code, :string, :limit => 3
end

しかし、このテーブル/モデルを参照している他のモデルでどのように使用するのでしょうか? 参照の場合、ActiveRecord は常に外部キー列が「_id」で終わり、整数値であると想定します。

本当ですか?SystemCurrency が文字列 iso_code を主キーとして使用している場合、Order モデルからそのような SystemCurrency モデルへの参照を行うにはどうすればよいですか?

4

1 に答える 1

4

結合で主キーを指定できます。例えば:

class Order < ActiveRecord::Base
  belongs_to :system_currency, :primary_key => "iso_code"
end 

詳細については、http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_toの Rails API を参照してください。

これはあなたが求めているものですか、それとも私はあなたの質問を誤解していますか?

于 2012-06-02T02:09:50.290 に答える