【发布时间】:2020-01-14 22:00:36
【问题描述】:
我使用的是 Rails 5.1。当存在“belongs_to”关联链时,如何编写查找器方法?我有以下型号...
class Plan < ApplicationRecord
...
has_many :plan_items, :dependent => :destroy
class PlanItem < ApplicationRecord
...
belongs_to :offer, :optional => false
class Offer < ApplicationRecord
belongs_to :package, :optional => false
class Package < ApplicationRecord
has_and_belongs_to_many :items
我想编写一个查找器,它可以获取所有带有 id = "blah" 的项目的计划。但是以下失败了...
[19] pry(main)> Plan.joins(plan_items: :offer).joins(packages: :item).where(:item => {:id => "abac"}).count
ActiveRecord::ConfigurationError: Can't join 'Plan' to association named 'packages'; perhaps you misspelled it?
from /Users/davea/.rvm/gems/ruby-2.5.1/gems/activerecord-5.2.2.1/lib/active_record/associations/join_dependency.rb:188:in `find_reflection'
当有一个 belongs_to 关联链时,我如何编写查找器?
【问题讨论】:
-
您的迁移情况如何?
-
嘿@SebastianPalma!很高兴在线程上见到你。我会尝试挖掘这些。请原谅我的问题,但为什么迁移很重要?是否可以根据给定的信息构建查找器?
-
这样,(至少对我而言)创建一个示例应用程序来测试和详细说明此案例的答案会更容易。
-
好吧,让我看看我能在这里做什么。
标签: ruby-on-rails ruby-on-rails-5 associations belongs-to finder