Rails4でアプリを作る その1(PostgreSQL編)
ローカル環境をPostgreSQLで構築する
※前回、sudo で brew するという、とんでもない暴挙を記載しましたが、やはりこれだと開発時に何かとパーミッションがどうのエラーが発生してしまったので、結局アドバイス通りやり直しました。
herokuを使ってアプリ公開をしたいので、ローカル環境もherokuにあわせてPostgreSQLにしたいと思います。そこでまずハマったのが、sqlite以外のDBを使いたい場合には、rails new する際に
rails new <project名> -d postgresql
このように、-d でDBを指定してあげなければいけない、という事。
これを知らなかったがために、gem loaderror が出てしまいました。database.yml が怪しいというアドバイスをいただき、確認してみると確かに development , test , production 共にすべてsqlite3 になっておりました。
そこで、database.yml を適切な内容に書き換えて再チャレンジ。
すると今度はDBが起動してないよ、的なエラー発生。他にもいくつか不明なエラーが出ていたので(どんなエラーか忘れた)、Macのデフォで入ってたPostgreSQLを使うと色々問題ありとの記事も見かけたため、herokuのバージョンに合わせた物を入れ直すべく、以下のサイトに沿って、9.2系のpgを入れることにしました。
■Mac MountainLion/CentOS 6.3へのPostgreSQL 9.2の導入手順
http://morizyun.github.io/blog/postgresql-mac-centos-rails/
その後、ローカルに database.yml に設定したユーザーを作り、DBを作って、再度確認。
DB関連のエラーは出ていないけど、Routing Errorが出てる。でもこれは一旦放置として、ひとまずこれでDBエラーは解決したので次の作業に進みます。
deviseを導入する
これは、Rails Girlsのページに沿って実行しました。
■Deviseで認証機能を追加
http://railsgirls.jp/devise/
このページ超親切で助かりました。w
サインアップ用のページで、ちゃんとユーザー追加が出来ました。これで、やっと前回教えてもらったP4Dの内容に追いついた…!