Ruby on Railsでデータベースに接続できない

このQ&Aのポイント
  • Ruby on Railsでデータベースに接続できない時の対処法とは?
  • データベースに接続できない問題を解決する方法を紹介します。
  • Ruby on Railsでデータベース接続エラーが発生した場合の対処方法について解説します。
回答を見る
  • ベストアンサー

Ruby on Railsでデータベースに接続できない。

Ruby on Railsでデータベースに接続できない。 『RailsによるアジャイルWebアプリケーション開発(第3版)』 http://www.amazon.co.jp/Rails%E3%81%AB%E3%82%88%E3%82%8B%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%ABWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA-Sam-Ruby/dp/4274067858/ref=sr_1_1?ie=UTF8&s=books&qid=1279209371&sr=8-1 という本でRuby on Railsの勉強をしています。現在、「第10章チェックアウト」の136ページあたりで行き詰っています。 ActiveRecord::AssociationTypeMismatch in StoreController#save_orderのメッセージが表示されていますが、どうやらデータベースに接続できていないようです。 configのdatabase.yml等を色々試行錯誤してみたり、色々ググってみたりしましたが、解決できませんでした。 どうやったらデータベースに接続できるのでしょうか。恐らくInstantRails-2.0に予め入っているMySQLやApacheと別々に入れたMySQLやApacheと競合しているからでしょうか。InstantRails-2.0の入っているMySQLやApacheは停止しています。 また、別々に入れたMySQLの方にはマイグレーション(?)で問題なくデータベースやテーブルが作成されています。なのにデータベースに接続できていないようです。 もう一つ、Ruby on Railsについて文字コードはcontrollers,helpers,models,views等に入っているファイルは全てutf-8にしなければならないでしょうか。何かWindowsでRuby on railsを開発するとコマンドプロンプトの関係でShift-JISに依存しているような気がします。

noname#139165
noname#139165
  • Ruby
  • 回答数1
  • ありがとう数11

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

データベースとの接続は問題というよりは、 LineItemとOrderのアソシエーション設定に問題があるかもしれません。 class LineItem < ActiveRecord::Base belongs_to :order belongs_to :product class Order < ActiveRecord::Base has_many :line_items 単数形と複数形あたりが怪しい? 画像のログがもう少しはっきり見れればよかったんですが。

noname#139165
質問者

お礼

返事が遅くなってすみません。 ご回答ありがとうございます。 解決方法が分かりました。 要するには初期化が必要でした。 『RailsによるアジャイルWebアプリケーション開発(第3版)』の56,57ページに答えが書いてありました。 無事に解決できました。

関連するQ&A

  • Ruby on RailsとMySQLについて質問です。

    Ruby on RailsとMySQLについて質問です。 Railsの別プロジェクトで作成したデータベースへアクセスするには、どうしたらよいでしょうか? 例)Aプロジェクト、Bプロジェクトがあります。 Bプロジェクト:Aプロジェクトのデータベースへアクセスし、Aテーブルのデータを取得したい。かつ、Bプロジェクトで作成したデータベースへもアクセス可能であること。 知っている方がいましたら、ぜひご教示願います。

  • Ruby on Railsでアプリケーションを作りたいんですが、phpMyAdminでデータベース表の作成がうまく行かないです。

    Ruby on Railsの利用できる環境を構築します。 Ruby、Rails、データベース、Webサーバの4つをまとめてセットにしてしまったソフト【InstantRails】を使用します。 バージョン:InstantRails-2.0-win.zip をダウンロードしました。 そこで、Ruby on Railsでアプリケーションを作成して見ます。 まずは、データベース表を作成します。 【Instant Rails】ウィンドウでApacheボタンをクリックし、メニューからStartを指定しましたが、Start状態に変わってないのです。 いろいろ調べましたが、原因がわかりません。 すごく困ってます。 ご指導をお願いいたします。

  • Ruby on Rails について

    Ruby on Railsでアプリケーションを作ります。 バージョンは:InstantRails-2.0-win 1、データベース表の作成: データベース名:myapp   テーブル名:peoples データベースを作成したら、MySQLを再起動します。 2、新規アプリケーションの作成: アプリケーション名:myapp Instant RailsウィンドウのIボタン⇒Rails Applications⇒Manage Rails Applicationsをクリックします。 Rails ApplicationsダイアログボックスのCreate New Rails App・・をクリックします。 コマンドプロンプト画面が表示されます。 rails myapp を入力します。 コマンドプロンプトのプロンプトが入力状態になって、コマンドプロンプトを閉じます。 Rails ApplicationsダイアログボックスのRefresh Listボタンをクリックしたら、myappアプリケーション名が追加されます。 3、アプリケーション・モデルの作成: InstantRails-2.0-winフォルダ ⇒ rails_apps ⇒ myapp ⇒ config ⇒ datebase.yml ファイルを開きます。 ↓に書き換えます。 development: adapter: mysql database: myapp timeout: 5000 username: root host: localhost   Instant RailsウィンドウのIボタン ⇒ Rails Applications ⇒ Open Ruby Console Windowをクリックします。 コマンドプロンプトが開きます。 cd myapp ruby script/generate model people を入力します。 4、コントローラの作成: コマンドプロンプトを開きます。 cd myapp ruby script/generate controller people を入力します。 コマンドプロンプトを閉じます。 InstantRails-2.0-winフォルダ ⇒ rails_apps ⇒ myapp ⇒ app ⇒ controllers ⇒ people_controller.rb ファイルを開きます。 class PeopleController<Application Controller scaffold :people ←←追加した行です。 end 5、新しいアプリケーションを起動 Rails ApplicationsダイアログボックスのRails Applications 欄の myappの所をチェックし、Start with Mongrelボタンをクリックします。 コマンドプロンプト画面が起動し、ポート番号が表示されます。 Webブラウザを起動し、アドレス欄に 一つは: 「http://localhost:people/list」を入力し、Enterキーを押します。 ↓Errorメッセージが表示されました。 NoMethodError in PeopleController#list undefined method `scaffold' for PeopleController:Class RAILS_ROOT: C:/taiyo/INSTAN~1.0-W/rails_apps/myapp   一つは: http://localhost:3000/people Enterキーを押します。 ↓Errorメッセージが表示されました。 NoMethodError in PeopleController#index undefined method `scaffold' for PeopleController:Class RAILS_ROOT: C:/taiyo/INSTAN~1.0-W/rails_apps/myapp どこの手順が違ってるのが解らなくて、 Errorの解決方法ですごく困ってます。 どうかご指導をお願いいたします。 もう一つはErrorメッセージの3行目は C:/taiyo/INSTAN~1.0-W/rails_apps/myappですけど、 InstantRails-2.0-winフォルダのはずですけど、 INSTAN~1.0-Wフォルダになった原因がよくわからないです。 すごく困ってます。 ご指導お願いいたします。

  • Ruby on Rails で PostgreSQL

    Ruby on Rails で PostgreSQLを使おうと思っているのですが、何か問題はありますか? デフォルトのMySQLを使わないとRailsの便利さを活かせないと聞いたのですが。。。

  • Ruby on Rails によるデータベース作成

    Rubyもよくわからない初心者ですが、「かんたんRuby on RailsでWebアプリケーション開発」という本を見ながらデータベースを作成しています。Railsのバージョンは1.1.2、データベース管理はMySQLを使っています。 マイグレーションの作成まではうまく行っていると思うのですが、001_create_table.rbの修正、database.ymlの設定を行い、マイグレーション、scaffoldを実行してブラウザで表示すると、表示されないフィールドがあります。 001_create_table.rbでは次の部分を追加しています。 create_table(:items) do |table| table.column :index, :string, :limit => 32 table.column :pos, :string, :limit => 8 table.column :cid, :string, :limit => 32 table.column :type, :string, :limit => 5 table.column :flq, :integer table.column :ns, :string, :limit => 6 table.column :cflg, :integer table.column :wflg, :integer end 何回かやり直してみましたが、↑この中のtypeというフィールドがどうしても表示されません。 どこを直したらいいのか教えてください。 よろしくお願いします。

  • Ruby on Railsを学ぶにあたっての書籍について

    最近流行のRuby on Railsですが、手始めに「RailsによるアジャイルWebアプリケーション開発」を購入しました。 もうすこし、ステップバイ・ステップで理解できるものやチュートリアル的な書籍でお勧めがありましたら教えていただけませんでしょうか?

  • Ruby on Railsの文字化けについて

    Ruby on Rails + MySQLでWEBアプリを開発しているのですが、日本語で入力したデータが全て文字化けを起こしてしまい原因が分からず困っています。 ご存知の方是非教えていただけませんでしょうか。 当方素人のため、なるべく分かりやすく解説してくれているページなどありますと嬉しいです。 開発環境は以下です。 OS:MacOSX ブラウザ:FireFOx2 Ruby:1.8.2 Rails:1.2.2 RubyGems:0.9.2 今まで以下に出ている方法を試しましたがダメでした。 http://osakanas.blog19.fc2.com/blog-entry-40.html http://konohaotoshi.blog69.fc2.com/blog-entry-83.html http://mamok.com/2006/11/09/261/ http://sam2.jp/j/20051108.html

  • Ruby on Railsインストール(アップデート)

    Ruby on Railsインストール(アップデート) RailsをCentOS4.4?にインターネット経由以外でのインストールする方法を知りたいです。 下記に条件を記載させて頂きますので、本当に申し訳ありませんが、 ご教授していただけますでしょうか? 無知で申し訳ありませんがよろしくお願いします。 ■現状  サーバOS CentOS4.4  Ruby 1.6.x  gem 0.9x??  rails 1.x  mysql4.1  sqlite3 ■条件  ・会社のサーバなので、インターネットが使用できない。  ※CDやUSBも無理です。   やり方としては、ソースを会社のメールアドレスに送り   自分の端末からFTPでサーバにアップロードします。   また、上長には許可は頂いています。  ・現状古いバージョンのRuby・RubyGems・Ruby on Railsは   インストールされていますが、アップデートよりは、   上書きインストールの方が望ましい。   ※理解し易いため。    初心者のためアップデートは難関かとm(--)m ■今回インストール(アップデート)したい物  Ruby on Rails 2.x ----以下は、ダウンロード済み----  Ruby 1.8.7  ※こちらは、色々なサイトに記載されています参考にしています。  RubyGems  ※これは、RubyForgeからダウンロード済み ■気になる点  ほかにインストールしなければならないものってありますでしょうか? 教えて君で申し訳ありませんが、よろしくお願いします。

    • ベストアンサー
    • Ruby
  • ruby on railsで開発するときのエディタ

    初めまし.て。 今度新しく入社する会社で、ruby on railsを使用した開発を致します。 そこで、現場ではなんというエディタを使うのが一般的なのでしょうか。 私は今まで、サクラエディタと秀丸くらいしか使ったことがありません。 入社前までにエディタの使い方くらいは覚えておきたいので、 railsを会社で使用している方、いらっしゃいましたら、ご回答お願いいたします。

  • ruby on rails rake migrateについて

    rails初心者です。 今「ライドオンrails」を見て、勉強しているのですが、 34ページのところの $ rake migrate のところでエラーが出てしまいます。エラー内容は下記に示します。 環境:fedora core 5 mysql, ruby, gem, rails:yumコマンドにインストール(最新) この環境で 次のエラーが出てしまいます。 $ rake migrate (in /home/tada/tutorial/recipe) rake aborted! Mysql::Error: Lost connection to MySQL server during query: SET NAMES 'utf8' わかる方がいらっしゃたら教えてください。

専門家に質問してみよう