『はじめる!Rails3(1)』(黒田努 著 / 達人出版会)はRails3.0をベースに記述されている為、3.1環境でチュートリアルを進めていくと何点かつまずくポイントがある。自分用のメモとして記述しておく。
2.3 Ruby on Railsのインストール
以下のコマンドでrailsをインストールするが、1行だけエラーが出た。
$ gem install rails
とすると、結果ログに1行
$ file 'lib' not found
と表示される。
これは、以下の方法で解決できる・・・らしい。が、今回はスルーして先に進めた。得に問題は起こっていないので、スルーでも大丈夫だと思われる。
特にそのままでも問題もなさそうだったけれど、気になったので調べてみた。
そしたらlibディレクトリを作ったら無事解決しました。cd /usr/local/lib/ruby/gems/1.9.1/gems/rails-3.0.5
sudo mkdir lib
sudo gem install rails
5.5 部分テンプレート
webアプリのロゴ画像を表示する部分。画像ファイルを public/images ディレクトリ配下に置くように指定されるが、ここにおいても表示されない。
これはRails 3.1からAsset Pipelineという仕組みが導入された為で、public/imagesではなく、assets/imagesに配置する。JavaScriptやStylesheetも同様で、それぞれassets/javascripts、assets/stylesheetsに配置する。
6.2 マイグレーション
新しくテーブルを作成するマイグレーションスクリプトについて。書籍内では以下のようにself.upとself.downが定義されている。
Class CreateTasks <ActiveRecord::Migration def self.up create_table :tasks do |t| t.string :name t.text :description t.date :due_date t.boolean :done t.timestamps end end def self.down drop_table :tasks end end
Rails3.1からはこれが変更になり、upとdownをまとめてchangeメソッドで記述するようになった。以下のように書く。
Class CreateTasks <ActiveRecord::Migration def change create_table :tasks do |t| t.string :name t.text :description t.date :due_date t.boolean :done t.timestamps end end end
selfが抜けてインスタンスメソッドになっている点に注意。
ピンバック: 第25回北海道開発オフに参加しました » 寺子屋未満
ピンバック: 「はじめる! Rails3(1)」の6.2マイグレーション部分で気をつける点 | yukawasa.com