- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rubyのactive_recordについて)
rubyのactive_recordについて
このQ&Aのポイント
- rubyのactive_recordを使用してSQLite3のデータベースにアクセスし、最新のデータを取得するプログラムの作成方法を教えてください。
- アクティブレコードを使用してRubyでSQLite3データベースにアクセスする方法を教えてください。
- 最新のデータをアクセスするRubyのプログラムを作成していますがうまくいきません。どうすれば正しくデータを取得できるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どのようなエラーがでているのでしょうか? またデバッガは使っていますか? それを見れば解決できるはずですが。 さて、まずこのファイルをどこに置いていますか? database.ymlと指定されていますので、configフォルダの中でしょうか。 ところが、database.ymlにはdb/development.sqlite3と書かれているはずですので、探し出すことができません。 このファイルをconfigフォルダの外に出して、'database.yml'を'config/database.yml'に変更するとともかくデータベースは読めるようになります。 次に、bookinfo = Bookinfo.order("updated_at DESC").firstで読み込んだときには、配列にはなっていません。 info = Bookinfo.order("updated_at DESC").first puts info.id puts info.author puts info.title puts info.page puts info.date_available としてみてください。
その他の回答 (1)
- ki073
- ベストアンサー率77% (491/634)
回答No.2
どの行でエラーが出ているのか確認してください。大事な情報です。 多分、Bookinfo.order("updated_at DESC").first だと思うのですが、 ところで、データベースにデータは入っているのでしょうか? updated_atの項目が自体が無いか、もしかしたらデータが全く入っていないのが原因かも知れません。 SQLite3のデータは、コマンドで確認するか、 FireFoxの拡張機能のSQLIte Managerなどで確認や操作ができます。
補足
ご回答ありがとうございます。 `initialize': SQLite3::SQLException: no such column: updated_at: SELECT "bookinfos".* FROM "bookinfos" ORDER BY updated_at DESC LIMIT 1 (ActiveRecord::StatementInvalid) デバッグしたとき、上のようなエラーがでるのですが、何が原因なのでしょうか。よろしくお願いします。