【发布时间】:2019-04-04 02:13:21
【问题描述】:
将应用程序从 Rails 4.2.9 升级到 Rails 5.2.1。
通过大部分令人讨厌的部分更新依赖关系和诸如此类的东西,最后让应用程序在console 中运行,现在尝试在server 上点击页面。一些页面加载,但其他页面:
在定义直通关联之前,不能有一个 has_many :through 关联“User#clubs”通过“User#memberships”。
不清楚 Rails 5 中发生了什么变化来触发这个?甚至不知道从哪里开始寻找。
想法?
似乎在下面调用的行中失败了:
class ViewableStories
...
def for_user
Story
.includes(:publications)
.references(:publications)
.where(
stories[:user_id]
.eq(@user.id)
.or(
publications[:club_id]
.in(@user.club_ids) <<==== execution halts
.and(
publications[:publish_on]
.lt(Date.today)
.or(publications[:publish_on].eq(nil))
)
)
)
end
end
从model/story.rb调用
def self.viewable_published_stories_for(user)
ViewableStories
.for_user(user)
.includes(:cover_image, :user, :table_of_contents)
.published
.chronological
end
【问题讨论】:
标签: ruby-on-rails activerecord has-many-through activerecord-relation