どのようにしてRailsのテーブルにデータを追加できますか?Ruby on RailsのSQLテーブルに行を追加する
これまでのところ、私はAPIからデータを取得するRailsアプリケーションを作成しました。移行およびそのテーブルを作成します。次に、私はコマンド
rails generate model order
を走っていると私は
class CreateOrders < ActiveRecord::Migration
def change
create_table :orders do |t|
t.string :email, null: false
t.string :order_date, null: false
t.string :total_price, null: false
t.string :order_number, null: false
t.string :cust_name, null: false
t.string :zip_code, null: false
t.timestamps null: false
end
end
end
次
を/db/migrate/timestamp_create_orders.rbしている、私はデシベルを実行する必要が信じています。私の質問は、このテーブルにデータを追加する方法です。私は、ユーザーがアプリを訪問し、データを引き出し、それをこのテーブルに保存したい。私は相反するアドバイスを発見した
... 私はちょうどhere
Order.create(:email=>'[email protected]',:order_data=>"...
からアドバイスを使うべきしかし、他のアドバイスは、このhereとhereをしないと言っているようです。それらはすべてかなり古くなっていますが、
は、レールのドキュメントで見たことがありますか? http://guides.rubyonrails.org/getting_started.html#saving-data-in-the-controller Model.create()はレコードを作成して保存します。 Model.new()はそれを作成し、dbに保存するにはvar.saveを実行する必要があります。 – user3366016
ありがとうございます。これはベストプラクティスですか?私は、なぜあなたがこれを使ってはいけないと言っていたのか理解できませんでした。シードデータにのみ使用しないでください。 – Adam12344
アプリが使用中にAPIからのデータを保存したいのですか(残りの設定はあなたの質問と思われる)?アプリケーションの使用中に既定のデータとレコードを保存してデータベースをシードすることは、少なくとも私にとっては2つの異なることです。私は移行を介してデータベースにデータを追加しません。テーブルの作成と変更(db setup)のためのものです。コントローラ、モデル、API、シードなどのファイルは、あなたの目的/目標に応じてデータの追加と削除を処理します。 IDは上記の文書ページ全体を読んで、例と説明し、文脈を示します。 – user3366016