私は単純なWebアプリケーションを作成しており、Oracleデータベースは、「activerecord-oracle_enhanced-adapter」およびoci8を介して接続しています。csvファイルをレールからOracleデータベースにインポート
私はcsvファイルを選択し、Oracleにこれらのデータを送信したいWebページを持っています。
実は私は問題なく私のOracleデータベースから適切にエントリを取得することができますし、私は私のWebアプリケーション経由で注文を作成するとき、私はどちらか私のOracleデータベースにポストを挿入することができます。ここで
モデル/ commande.rbで私のコードです:/ commandes_controller
class Commande < ApplicationRecord
require 'csv'
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Commande.create! row.to_hash
end
end
end
コントローラ:
def import
Commande.import(params[:file])
redirect_to root_url, notice: "Activity Data Imported!"
end
ビュー/ commandes/index.html.erb
<h4>Import pool orders</h4>
<%= form_tag import_commandes_path, multipart: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Import CSV" %>
<% end %>
ルータ:
ActiveModel :: UnknownAttributeError blabalaテーブルのフィールド:私は私のcsvファイルを選択し、[インポート]をクリックしたとき10、私はエラーメッセージを持っています。
私は1時間に成功(と私はどのように実際には知らない)と私の通知を受けた:「活動データをインポート」が、どのデータが私のOracleデータベースに転送されました。
誰かがアイデアを持っていますか?
のように、モデルのフィールドに直接マッピングしてCSVの列を、この作品を作ることができる、あなたはエラーを投稿しCommandesフィールドに正しく一致する「row.to_hash」が出力されことができますか? –
すべてのフィールドは私のデータベースにあります – JohnCooper