【发布时间】:2016-11-23 17:41:21
【问题描述】:
在我的卡片模型中,我有以下关联:
has_many :sub_cards, ->(obj) { where('parent_card_id = ?', obj.id) },
inverse_of: :parent_card, :class_name => 'Card'
belongs_to :parent_card, class_name: 'Card', optional: true
每当我尝试使用它们时,例如在控制台中输入 c.sub_cards,我都会收到以下错误:
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'where 子句'中的'cards.card_id':SELECT
cards.* FROMcardsWHEREcards.card_id= 237 AND (parent_card_id = 237)
事实上,SQL 请求有'cards'.'card_id' = something,而如果我参考我的其他工作关联,它应该是'cards'.'id' = something。
问题是我找不到这种语法的来源。
有人遇到过这个问题吗?
提前感谢您的帮助。
【问题讨论】:
标签: mysql ruby-on-rails associations