🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby on Rails

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

Q&A

解決済

1回答

502閲覧

rails console使い方に関して

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

0グッド

0クリップ

投稿2019/11/24 13:50

rails cを使用した時に表示されるSELECT、FROM、WHERE、LIMITなどは、どういう意味があるのでしょうか?
DBを受け取れていないような状態で原因が分からなかったため以下のように調べているのですが、読み解くことができないでいます。

2.6.3 :001 > Book.all Book Load (1.6ms) SELECT "books".* FROM "books" => #<ActiveRecord::Relation []>
2.6.3 :001 > Book.find(1) Book Load (0.1ms) SELECT "books".* FROM "books" WHERE "books"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] Traceback (most recent call last): 16: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `load' 15: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency' 14: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `block in load' 13: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:inec2-user:~/eec2-

rails cをほとんど使用したことがなく初歩的な質問となりますが、お答えいただけると嬉しいです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

rails がDBに送っている SQL文です。

投稿2019/11/24 14:34

winterboum

総合スコア23567

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

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

退会済みユーザー

退会済みユーザー

2019/11/24 15:14

SQL文について調べてみて、基本的なことは分かってきました。 ・=> #<ActiveRecord::Relation []> ・"id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] この2行はどういった意味を持つでしょうか?
winterboum

2019/11/24 22:39

=> #<ActiveRecord::Relation []> この頭の => は「その結果がこうなります」という意味でruby、railsでは慣用句です。 Sqlの結果が(取り込まれるのが) ActiveRecord::Relation の 配列[]です。 といういみです WHERE "books"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] Traceback (most recent call last): がセットです。where句の二つの? のところに id のところに1を、limitの所に1を代入してSQLを組み立てる という意味です
退会済みユーザー

退会済みユーザー

2019/11/25 13:18

ありがとうございます。 大変勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問