0

こんにちは、これはやや些細なことですが、私の人生では、どこで調整を行うべきかを理解することはできません. 次のような LoanApplication モデルと転送モデルがあります。

class LoanApplication < ActiveRecord::Base
  before_save :populate_guid
  belongs_to :user
  has_one :loan, -> { where loan: true }, as: :transferable
  has_one :repayment, -> { where repayment: true }, as: :transferable
  validates_uniqueness_of :guid  

  private 

  def populate_guid
    if new_record?
      while !valid? || self.guid.nil?
        self.guid = SecureRandom.random_number(1_000_000_000).to_s(36)
      end
    end
  end
end

class Transfer < ActiveRecord::Base
  belongs_to :transferable, polymorphic: true 
  belongs_to :user
 validates_presence_of :transferable_id,
                    :transferable_type,
                    :user_id,
                    :amount,
                    :password
end

LoanApplication.first.loan次のエラーメッセージが表示される 理由

LoanApplication Load (1.1ms)  SELECT  "loan_applications".* FROM "loan_applications"  ORDER BY "loan_applications"."id" ASC LIMIT 1
NameError: uninitialized constant LoanApplication::Loan

すべての洞察に感謝します。ありがとう

4

2 に答える 2

0

それは些細なことでclass_name: "Transfer"、すべてを機能させるために追加する必要がありました。---'

于 2015-10-22T07:46:40.150 に答える
0

アプリケーションは予約語だと思います。LoanApplication の名前を変更しますか?

于 2015-10-22T02:13:16.907 に答える