だから私は次のコードを持っている:Railsのエラー:未定義のメソッド `プッシュ」nilのために:NilClass
new = @params[collection.to_s + '_attributes']
old = @model.send collection
if new.nil?
old.clear
else
new_records = new.map { |_, e| e[:id] }
if !new_records.nil? && !old.nil?
old.not_in(id: new_records).destroy_all
end
end
を問題は、私が使用していなかったです『どこにでも私のコードでプッシュ』機能をし、スタックトレースに基づきます実行時にエラーが発生します。
私は誰かが私を助けることを願っています。前もって感謝します!
UPDATE
私は今の代わりにdestroy_allのDELETE_ALLを使用して終了。私はそれがエラーを引き起こしていたと思います。今は動作していますが、destroy_allを使っていない理由を知ることができれば本当にうれしいでしょう。
このコードで何を達成しようとしていますか? 'not_in'のコードは何ですか? –
私はあまりにも確かではありません。不完全な詳細については申し訳ありません。私は実際にnot_inは組み込み関数だと思っていました。 – Jed
'not_in'はrailsコマンドではないと思います。' old.where.not(id:new_records).destroy_all'を試してください。 – Sravan