我有以下型号Rails应用程序:Rails的多个模型关联
User (id)
Version (id, post_id, creator_id)
Post (id)
到目前为止,设置如下:
User.rb:
has_many :versions
Version.rb:
belongs_to :creator, :class_name => "User"
belongs_to :post
Post.rb:
has_many :versions
现在我想链接一个用户到他已经通过版本表的帖子,并使其最坏这个连接必须被称为问题。我想是这样的:
加入User.rb:
has_many :questions, :class_name => "Post", :source => :post, :through => :versions
问题是这样不起作用,可能不应该,因为它不知道用户密钥的名字是在版本表。
错误消息:
的SQLite3 ::的SQLException:没有这样的柱:versions.user_id:SELECT COUNT(*)FROM “职位” INNER JOIN “版本” ON “职位” “ID”=“版本“。”post_id“WHERE”版本“。”user_id“= 1
我不知所措,帮忙!
注:不工作的唯一关系是最后一个users <==> posts
又名users.questions
不清楚 - 行'的has_many:问题,:CLASS_NAME => “邮报”'是用户还是邮政?如果对于发布,你可以删除所有邮政的东西。 –
我已说明,它在用户模型中... – Nayish
您是否考虑过使用'vestal_versions'(https://github.com/laserlemon/vestal_versions)进行版本控制? –