Ruby on rails 如何对联接表值使用finder方法?
在我的RubyonRails应用程序中,我在数据库中创建了一个连接表来链接客户和企业。现在,我试图根据联接表中的信息(称为“冲突”)查找其中一个模型的信息: @客户=客户。其中(客户id:1)。冲突或 @客户=客户。查找(1)。冲突 我想查找与给定“冲突”直接相关的客户(或业务)信息,并将其打印到浏览器视图中 我现在得到的错误是:Ruby on rails 如何对联接表值使用finder方法?,ruby-on-rails,activerecord,jointable,Ruby On Rails,Activerecord,Jointable,在我的RubyonRails应用程序中,我在数据库中创建了一个连接表来链接客户和企业。现在,我试图根据联接表中的信息(称为“冲突”)查找其中一个模型的信息: @客户=客户。其中(客户id:1)。冲突或 @客户=客户。查找(1)。冲突 我想查找与给定“冲突”直接相关的客户(或业务)信息,并将其打印到浏览器视图中 我现在得到的错误是: 未定义#的“冲突”方法要通过客户获取冲突,您应该在客户模型(customer.rb)中具有以下关联 有一个:冲突 或 有很多:冲突根据描述,您创建了一个包含客户和业务
未定义#的“冲突”方法要通过客户获取冲突,您应该在客户模型(customer.rb)中具有以下关联 有一个:冲突 或
有很多:冲突根据描述,您创建了一个包含客户和业务引用的联接表 您提供的错误,似乎您忘记了在模型中关联它们 customer.rb
class Customer < ApplicationRecord
has_many :customer_conflicts
has_many: conflicts, through: :customer_conflicts
end
你能告诉我们你的关联是如何定义的吗?谢谢你的回复…我正在尝试更新模型,但不断得到一个名称错误。甚至在我删除数据库之后。我最近在我的项目文件夹中安装了Desive和OAuth。是否有更新模型和在我的种子中存储数据以用于测试应用程序的解决方法?感谢您的回复…我正在尝试更新模型,但不断收到名称错误。甚至在我删除数据库之后。我最近在我的项目文件夹中安装了Desive和OAuth。是否有更新模型和在“我的种子”中存储数据以用于测试应用程序的变通方法?您可以共享您的模式吗?
class Conflict < ApplicationRecord
has_many :customer_conflicts
has_many :customers, through: :customer_conflicts
end
class CustomerConflict < ApplicationRecord
belongs_to :customer
belongs_to :conflict
end
@customer = Customer.where(customer_id: 1).conflicts
@customer = Customer.find(1).conflicts