2012-03-26 10 views
0

rake-tasksを使ってRailsで小さなプロジェクトを開発しようとしています。Rails rakeは入力と自己入力を生成しました

まず、rake-callからいくつかのデータを取得し、データベースに格納します。 問題:生成されたデータを保存しようとすると、私はいつもエラー(不明な属性:actuals_cost)を受け取ります。 、

desc "Import Projects from CRM" 
task :import_projects_crm => [:environment] do 
    crm_projects = Crm::Importer.new().import_projects 

    Project.create(
     :order_number => crm_projects[0][0], 
     :client_name => crm_projects[0][2], 
     :partner_name => crm_projects[0][1], 
     :totals_sales_orders => crm_projects[0][3], 
     :actuals_cost => crm_projects[0][4], 
     :actuals_sales => crm_projects[0][5], 
     :external_cost => crm_projects[0][7], 
     :external_sales => crm_projects[0][8], 
     :total_change_request => crm_projects[0][6], 
     :storage_path_sales_order => crm_projects[0][9], 
     :storage_path_pm => crm_projects[0][10] 
    ) 

#Project.create(:actuals_cost => 100) --> works :(
    end 

データをSQLServerのから引っ張られ、私は角括弧で作業Thatsなぜ:しかし、私はそれを手動でを与えることをしようとすると、それは

は、ここに私のコードの一部をある...作品。

EDIT:

さてさて、問題を発見しました。私が前に言ったように。 rakeでは、私はリモートデータベース(SQLServer)との接続を行い、ローカルデータベース(PostgreSQL)にデータを格納したいと思います。

接続に問題がありました。私がSQLServerからデータを取得したとき、データベースから切り替える必要があります。これはどのように行うことができます。

ActiveRecord::Base.establish_connection :[one_of_databasename_in_your_yaml] 
+0

私たちは、プロジェクトが具体的にactuals_cost分野について、定義されている方法の詳細が必要thnk。あなたは環境を初期化しているので、それは良いことです。あなたは宝石のいくつかの異なるセットを取得しているか、別のデータベース接続か、おそらくデータベース接続がありません。 – mcr

+0

私はPostgreSQLデータベースを使用しています。私はそれを "置く"ときにcrm_projectsからデータを受け取ります。しかし、私はそれを保存したい、私はしています。私は手動でこのように手動で行う=> Project.create(:actuals_cost => 100) –

+0

Oyeahは、rakeファイル内で外部データベース(SQLServer)と接続し、新しいデータを保存するためにlocalhostを使用しますPostgreSQLデータベース。 –

答えて

関連する問題