我有模型A
和B
。两者都有magic
列。如果来自a
的记录A
和来自b
的{{1}}具有相同的B
,则它们是相关的。来自magic
和A
的许多记录可能具有相同的B
。
有没有办法在我的Rails模型中表达这种magic
类的东西?怎么样?
答案 0 :(得分:2)
遵循Rails方式具有很高的价值,而您尝试做的事情并不是标准的做法。
Rails方式:您应该使用中间模型和表创建一个has-and-belongs-to-many-many关系,如Rails Guides网站中所述。
但如果你坚持...... :试试这个:
# model_a.rb
class ModelA < ActiveRecord::Base
has_many :model_bs, class_name: 'ModelB',
foreign_key: :magic,
primary_key: :magic
end
# model_b.rb
class ModelB < ActiveRecord::Base
has_many :model_as, class_name: 'ModelA',
foreign_key: :magic,
primary_key: :magic
end
我还没有对此进行过测试,但我相信它会起作用。
最后的话...... 不要这样做!按照Rails的方式。 :)