【发布时间】:2017-02-27 17:24:45
【问题描述】:
我正在开发一个 Rails 5 项目,并且有一个名为 Upvote 的模型,它是多态的,属于 Event 或 Suggestion。我正在尝试专门获取属于一个类别或其他类别的赞成票以及创建事件/建议的任何人的用户 ID,但由于多态性而苦苦挣扎。几年前有a similar post,但是当我尝试实施该技术时它不起作用。具体来说,我将此代码添加到我的 Upvote 模型中:
belongs_to :suggestion, -> { where(upvotes: {idea_type: 'Suggestion'}) }, foreign_key: "idea_id"
但是当我尝试类似的东西时
Upvote.includes(:suggestion).last
在控制台中我收到此错误:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR: missing FROM-clause entry for table "upvotes"
LINE 1: SELECT "suggestions".* FROM "suggestions" WHERE "upvotes"."i...
有人可以帮忙吗?谢谢:)
【问题讨论】:
标签: ruby-on-rails postgresql polymorphism rails-activerecord