在导轨5

时间:2018-09-24 12:56:08

标签: ruby-on-rails-5

嗨,我正在尝试将三个表连接在一起,然后拉出一个特定的表,但是没有任何运气

@applications_created = FinancialDocument.joins(:loan).joins(:campaign)
@applications_created = FinancialDocument.where(status: ['awaiting_verification', 'rejected', 'verified']).order('id DESC')
@applications_created = @applications_created.where('loan.campaign_id = ?', params[:cid]) if params[:cid].present?
@applications_created = @applications_created.where('loan.campaign_name = ?', params[:name]) if params[:name].present?

我一直收到错误消息:

Mysql2::Error: Unknown column 'loan.campaign_name' in 'where clause': SELECT `financial_documents`.* FROM `financial_documents` WHERE `financial_documents`.`status` IN ('awaiting_verification', 'rejected', 'verified') AND (loan.campaign_name = 'Imagery') ORDER BY id DESC

schema.rb

create_table "loans", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| ...

create_table "campaigns", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8" do |t| ...

create_table "financial_documents", force: :cascade, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1" do |t| ...

loan.rb

class Loan < ActiveRecord::Base

belongs_to  :user
has_many    :financial_documents, dependent: :destroy..

financial_document.rb

class FinancialDocument < ApplicationRecord
  belongs_to :loan
  belongs_to :user
  belongs_to :campaign ...

campaign.rb

class Campaign < ApplicationRecord
  belongs_to :loan

0 个答案:

没有答案