こんばんわ。現在インポートを行なっている中で解決出来ない点があり相談したく存じます。
現在Customer:Call = 1:多の関係において、Callデータのインポートを行うプログラミングを行なっています。インポートするCallデータにはCustomerのデータと関連づけるため、Customer.telを関連付けの目的でrowに記載しインポートを行います。
すると以下のエラーが発生しました。
エラー内容
ActiveModel::UnknownAttributeError in CustomersController#call_import unknown attribute 'tel' for Call.
該当インポートコード
def self.call_attributes ["tel" ,"statu", "time", "comment", "created_at","updated_at"] end #call_import def self.call_import(call_file) save_cnt = 0 CSV.foreach(call_file.path, headers: true) do |row| call = Call.find_by(id: row["id"]) || new customer = Customer.find_by(tel: row["tel"]) call.attributes = row.to_hash.slice(*call_attributes) call.customer_id = customer&.id call.save! save_cnt += 1 end save_cnt end
上記でtelがattributeされていない理由がわからずに困っております。ご教示よろしくお願い致します。
create_table "calls", force: :cascade do |t| t.string "statu" t.datetime "time" t.string "comment" t.integer "customer_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.integer "admin_id" t.integer "crm_id" t.integer "customer_tel_id" t.integer "user_id" t.index ["admin_id"], name: "index_calls_on_admin_id" t.index ["crm_id"], name: "index_calls_on_crm_id" t.index ["customer_id"], name: "index_calls_on_customer_id" t.index ["customer_tel_id"], name: "index_calls_on_customer_tel_id" t.index ["user_id"], name: "index_calls_on_user_id" end