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

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

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

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

Q&A

解決済

3回答

1969閲覧

配列の取り出し方

banianizm

総合スコア92

Ruby on Rails

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

0グッド

0クリップ

投稿2017/02/07 21:09

お世話になります。
railsでの要素の取り出し方で質問です。

railsコンソール

1[3] pry(main)> Blog.all 2 Blog Load (27.4ms) SELECT "blogs".* FROM "blogs" 3=> [#<Blog:0x007f4efc9262e0 4 id: 1, 5 title: "夜", 6 content: "昼", 7 created_at: Sat, 04 Feb 2017 05:09:36 UTC +00:00, 8 updated_at: Sat, 04 Feb 2017 05:09:36 UTC +00:00, 9 user_id: 1>, 10 #<Blog:0x007f4efc925ea8 11 id: 2, 12 title: "朝", 13 content: "夕", 14 created_at: Sat, 04 Feb 2017 05:11:33 UTC +00:00, 15 updated_at: Sat, 04 Feb 2017 05:11:33 UTC +00:00, 16 user_id: 1>, 17 #<Blog:0x007f4efc925a70 18 id: 3, 19 title: "朝", 20 content: "夕", 21 created_at: Sat, 04 Feb 2017 05:11:37 UTC +00:00, 22 updated_at: Sat, 04 Feb 2017 05:11:37 UTC +00:00, 23 user_id: 1>] 24

上記はrailsコンソールでレコードを取り出したものです。
ここでレコードの一つ目の要素を取得するにはどうすればいいのでしょうか?
一つ目の値なので番号[0]になるのは分かるのですが、コンソールにどのように書けばいいか分かりません。
宜しくお願い致します。

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

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

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

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

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

guest

回答3

0

単に、Blog.firstで大丈夫です。

なお、DBエンジンの性質上、何も条件やソート順をつけずに「1番目」とだけ指定するとどの行が取られるかわからないので、(テスト目的などでどれでもいい状況でなければ)指定した方がいいでしょう。

投稿2017/02/07 22:32

maisumakun

総合スコア145184

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

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

0

ベストアンサー

3 つの方法を示します。

[1] pry(main)> Book.limit(1) Book Load (6.3ms) SELECT "books".* FROM "books" LIMIT ? [["LIMIT", 1]] +----+--------+--------+------+-------------------------+-------------------------+ | id | name | author | page | created_at | updated_at | +----+--------+--------+------+-------------------------+-------------------------+ | 1 | book-1 | | | 2017-01-22 10:16:02 UTC | 2017-01-22 10:16:02 UTC | +----+--------+--------+------+-------------------------+-------------------------+ 1 row in set [2] pry(main)> Book.all[0] Book Load (0.3ms) SELECT "books".* FROM "books" +----+--------+--------+------+-------------------------+-------------------------+ | id | name | author | page | created_at | updated_at | +----+--------+--------+------+-------------------------+-------------------------+ | 1 | book-1 | | | 2017-01-22 10:16:02 UTC | 2017-01-22 10:16:02 UTC | +----+--------+--------+------+-------------------------+-------------------------+ 1 row in set [3] pry(main)> Book.first Book Load (0.2ms) SELECT "books".* FROM "books" ORDER BY "books"."id" ASC LIMIT ? [["LIMIT", 1]] +----+--------+--------+------+-------------------------+-------------------------+ | id | name | author | page | created_at | updated_at | +----+--------+--------+------+-------------------------+-------------------------+ | 1 | book-1 | | | 2017-01-22 10:16:02 UTC | 2017-01-22 10:16:02 UTC | +----+--------+--------+------+-------------------------+-------------------------+ 1 row in set [4] pry(main)>

投稿2017/02/08 14:02

katoy

総合スコア22324

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

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

0

最初に登録されたもの(idが1のもの)を取得したいなら、Blog.find(1)で、取得できます。

投稿2017/02/08 08:31

NishidaRyu416_

総合スコア113

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問