我是 Ruby 的新手,我有带有这些主键的表:
- 交易类型:
- 交易类型
- 交易标头:
- 交易类型
- 交易年
- transaction_id
- 交易明细:
- 交易类型
- 交易年
- transaction_id
- city_id
- 股票代码
- 代码:
- city_id
- 股票代码
当然,这些模型还有其他非主键,例如 customer_id、connection_id 或 date,或 user_id 等,但这些对关系并不重要,因为它们只是数据,或者我对这些没有任何问题。
这些是我的模型:
#models
class transaction_type < ActiveRecord::Base
has_many :transaction_headers, :foreign_key=>'transaction_type'
has_many :transaction_details, :foreign_key=>'transaction_type'
has_many :tickers, :through=>:transaction_details
end
class transaction_header < ActiveRecord::Base
belongs_to: transaction_types, :foreign_key=>'transaction_type'
has_many :transaction_details
has_many :tickers, :through=>:transaction_details
end
class transaction_detail < ActiveRecord::Base
belongs_to: transaction_headers
has_many :tickers
end
class ticker < ActiveRecord::Base
end
我需要对每个对应的主键执行关系。transaction_type到transaction_detail和transaction_header很容易,但是如何在transaction_header和transaction_detail之间以及在transaction_detail和ticker之间创建关联?如何为代码关系创建 :through 键?
谢谢