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の内容に追いついた…!