0

何らかの理由で、rubocop は、私のモデルにあるこのコードを窒息させて、accepts_nested_attributes_forfind や create のように機能するように適切に対処しています。通話を削除しようとするselfと、爆発します。この時点で、その気の毒な警官を止める前に、専門家に任せています。考え?

class Job < ActiveRecord::Base
  belongs_to :company
  before_validation :find_company

  accepts_nested_attributes_for :company

  private

  def find_company
    if self.company
      self.company = Company.where(email: self.company.email).first_or_initialize
    end
  end
end

ここに画像の説明を入力

4

2 に答える 2

0

これは Ruboco を喜ばせるでしょう:

def find_company
  self.company = Company.where(email: company.email).first_or_initialize if company
end

PSこのメソッドの背後にあるロジックはわかりません-会社の関連付けが存在するかどうかを確認しており、存在する場合は、この同じ会社との関連付けを再度割り当てています。

メソッドは意味がありません - 完全に削除した方がよいと思います。

その会社が常に存在することを確認したい場合は、追加の存在検証を確認してください。

validates :company, presence: true
于 2016-02-17T07:07:56.840 に答える