Rails 4 と Ruby 2.0 を使う (1)

devise で認証するなにかを作ることにする。 忘れたときに見直すためのメモ。

ruby 2.0

Ubuntu 12.10 に rvm で

ruby 2.0.0p0 (2013-02-24) [x86_64-linux]

をインストールして使用した。 Rails 4 はまだリリースされていないので beta1 を使用した。

rails4 で作成する

今回は専用の gemset 用意する。

rvm gemset create rails4
rvm gemset use rails4

として

gem install rails --version "4.0.0.beta1"

で rails 4.0.0.beta1 をインストールする。

rails new APP_NAME

で新しいアプリケーションを作成する。

cd APP_NAME
git init
git add .
git commit -m "New application" 

とりあえず実行してトップページにアクセスしてみる。

rails server

として http://localhost:3000/ にアクセスする。

devise で認証したい

Gemfile に

gem "devise"

を追加してコミットする。

git add Gemfile
git commit -m "Add devise"

次に

bundle update

として gem の devise を用意する。Gemfile.lock が更新されるのでこれもコミットする。

git add Gemfile.lock
git commit -m "Update Gemfile.lock"

devise の設定ファイルを生成する。

rails generate devise:install

とする。

git add config/initializers/devise.rb
git add config/locales/devise.en.yml
git commit -m "Add files created by 'rails generate devise:install'"

で git にコミットしておく。 devise:install で表示された指示にしたがって設定していく。 とりあえず development 環境、つまり config/environments/development.rb に

config.action_mailer.default_url_options = { :host => 'localhost:3000' }

を追加する。

git add config/environments/development.rb
git commit -m "Set config.action_mailer.default_url_options"

routes.rb に

  root to: 'home#index'

を追加する。コントローラ名はなんでもよいのだが、devise にしたがって Home にする。

git add config/routes.rb
git commit -m "Root to home#index"

とりあえず、rails の使い方を思い出すためにトップページを作成する。 devise はいったん置いておく。

haml を利用する

erb より haml を使いたい。Gemfile に

gem "haml"

を追加する。

git add Gemfile
git commit -m "Add haml"
bundle update
git add Gemfile.lock
git commit -m "Update Gemfile.lock"

Home controller を作成してトップページを表示する

トップページを表示する Home Controller を作成する。

rails generate controller Home
git add .
git commit -m "Generate Home controller"

app/controllers/home_controller.rb に index メソッドを作成して

class HomeController < ApplicationController
  def index
    @hello_to = "World"
  end
end

とする。app/views/home/index.html.haml を作成して

%h1 Top page
%p
  Hello #{@hello_to}!

と記述する。http://localhost:3000/ にアクセスして上の内容が表示されればよい。

git add app/controllers/home_controller.rb
git add app/views/home.html.haml
git commit -m "Add view of home#index"

参考

Rails 4.0.0.beta1 と Ruby 2.0 を使う (2) に続く。

Tags of current page

,