質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

4回答

4803閲覧

[初心者] ActiveRecodeでレコードを追加する方法を教えてください

7hikolin

総合スコア124

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1グッド

1クリップ

投稿2016/07/11 03:15

RailsのActiveRecodeでrails gでレコードを追加する方法を教えてください。

商品情報のレコードをItemsというテーブルに追加したくて、
item_name = 贈り物セット, price = 2000
という具合です。

よろしくお願いします。

mondaminZ👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

参考情報

ActiveRecord や Rails の入門サイトや書籍をよむことをお勧めします。
レコード追加の方法だけを知っても片手落ちです。
検索、一覧、削除の方法もあわせて知る必要があります。(いわゆる CRUD)
また、トランザクションといったことも学ぶ必要があります。

投稿2016/07/11 12:39

編集2016/07/11 12:40
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

migrationはデータベースの定義(テーブルやカラム)を変更するもので、データを追加するものではありません(できなくはないですけど)。
Insertしたいだけならば、railsのコンソールから実行すればどうでしょうか。

rails c
Items.create iten_name: '贈り物セット', price: 200

投稿2016/07/11 04:06

shanxia

総合スコア1038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

rake db:seedを実行すると、db/seeds.rbのコードが実行されて、そこからデータを取り込むことができます。

ただ、既存のレコードがある場合などを考えると使い勝手はあまり良くないので、seed-fuなど別にgemを入れたほうが便利かもしれません。

投稿2016/07/11 04:00

maisumakun

総合スコア145192

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自己解決

回答ありがとうございます。
あまり良い方法ではないみたいですが、とりあえずこうしました。

##マイグレーションファイルを作成

rails generate migration AddRecordsToItems

##変更点を書く

ruby

1class AddRecordsToItems < ActiveRecord::Migration 2 def change 3 Item.create( 4 item_name: '贈り物セット', 5 price: 200 6 ) 7 end 8end 9

#マイグレーションを実行

$ bin/rake db:migrate

投稿2016/07/13 04:10

7hikolin

総合スコア124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

7hikolin

2016/07/13 04:20

今回こうした理由は、手元のデータベースだけでなくて、本番環境などでも同じレコードを反映させられるようにするためでした。 回答にあったように、db/seed.rbを使うとおそらく同じことがよりスマートにできるようですが、今回はとりあえずこうなりました。 参考 : http://railsguides.jp/active_record_migrations.html
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問