第一个模型:
class FaqGroup < ActiveRecord::Base
has_many :faqs, :foreign_key => 'group_id', :order => 'position'
acts_as_list
end
第二种型号:
class Faq < ActiveRecord::Base
belongs_to :faq_group, :foreign_key => 'group_id'
acts_as_list :scope => :faq_group
end
控制器:
def new_faq
@group = FaqGroup.find(params[:id])
@faq = @group.faqs.create(question: 'lorem', answer: 'ipsum')
结尾
当我在浏览器中加载它时,我收到以下错误:
undefined method `faq_group_id' for #<Faq:0xb56fcde4>
所以,基本上当我尝试创建一个新的关联对象时,foreign_key 就会被忽略。如果我放弃自定义 :foreign_key 一切都会很好。
另一个观察结果是,如果我这样做:
@group = FaqGroup.find(params[:id])
@faqs = @group.faqs
它工作正常,所以它似乎只有在创建新的关联对象时才使用 foreign_key 问题。
谢谢!