Rails Tutorial (1)
Rails Tutorial(4.0版)をやっているので途中で思ったこととか、詰まったところを書いていく。
1章
なんとなくRails 4.1.0でプロジェクトを作成してみる。
rails new したら、最後の方にbundle exec spring binstub --all
が実行された。4.1からspringが標準に加わったらしい。springはRailsの各コマンドを高速化するgem。
ただ、チュートリアルと別バージョンのRailsで進めて面倒が増えるのもつらいので、Rails 4.0.2で作成し直す。以下のコマンドで以前のバージョンのRailsプロジェクトが作れる。
rails _4.0.2_ new first_app
2章
多少なりともRailsを経験していると、「よくわからないけど動く」というのが少なくて楽しく進められる。
3章
hamlを見た後にERBを見ると、いまいち好きになれなかった。もう少し調べてみるとslimというのがあるらしい。サンプルを見てみると%も無いし実行速度もERB,hamlより早いらしいのでこれを使ってみることに。
テンプレートエンジンをslimにする
Gemfileに追記
gem 'slim' gem 'slim-rails'
config/application.rbのApplicationクラスに追記
class Application < Rails::Application ... config.generators do |g| g.template_engine :slim end ... end
Postgresqlを使ってみる
演習問題でDBをsqliteからpostgresqlに変えるというのがあったので、やってみたら苦労した。ネットで調べても色々な情報があってどうやっていいのかいまいち分からなかった。なんとかできたのでやり方をメモしておく。
brew install postgresql # ログイン時にpostgresqlを起動する設定 ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents # postgresを起動 launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist # DBを確認する psql -l # ユーザを作る(パスワードなどは適当に変える) psql CREATE ROLE testuser WITH LOGIN CREATEDB PASSWORD 'testuser'; # 作成できたかを確認 select rolname from pg_roles; # データベースを作成 create database rails_tutorial;
以下はconfig/database.yml
development: adapter: postgresql encoding: unicode database: rails_tutorial pool: 5 username: testuser password: testuser test: adapter: postgresql encoding: unicode database: rails_tutorial pool: 5 username: testuser password: testuser
その他
GuardとSporkの設定は省略。Rails4.1ではSpringの方がデフォルトになっちゃってるし今からSporkをやるメリットはそんなになさそうだったので。
4章
Helper用のクラスとRubyがメイン。
Rubyの方は知っている内容だった。プログラミング入門 - Rubyを使ってをやっていればHelperの部分以外は読み飛ばしていい。
HelperはそれぞれのViewで共通して使う処理をまとめておく感じかな。