6.3 Viewing Users
昨晩の続きに着手。へろへろなので早めに何とかしたい。しかも明日は朝練の日なのですぐに続き、ってことになるのかな。
とりあえず
- パスワードの入力は次の章らしい
- なんか REST という字が見えるな
最初にデバッグな実装云々な話な模様。app/views/layouts/application.html.erb の footer を render する直下に追加らしい。
<%= render 'layouts/footer' %> <%= debug(params) if Rails.env.development? %>
6.3.2 User model, view, controller
なんとなく将棋とか名古屋とか気になりつつ。とりあえず上記の動作を確認してみます。以下でサーバを起動して
$ rails server --environment development
で、localhost:3000 にブラウザでアクセスしてみると
--- controller: pages action: home
が出ました。とりあえずデータを入れれ、とあるので以下をナニ。
$ rails console Loading development environment (Rails 3.0.9) ruby-1.9.2-p180 :001 > User.create!(:name => "Michael Hartl", :email => "mhartl@example.com") => #<User id: 1, name: "Michael Hartl", email: "mhartl@example.com", created_at: "2011-09-20 12:22:58", updated_at: "2011-09-20 12:22:58"> ruby-1.9.2-p180 :002 > exit $
で、app/views/users/show.html.erb を作れとのこと。中身は以下らしい。
<%= @user.name %>, <%= @user.email %>
それに伴って users_controller にも show を追加か。
class UsersController < ApplicationController def show @user = User.find(params[:id]) end
で、"/users/1" な URL にアクセスしてみると RoutingError が出ます。
We can get the REST-style Users URL to work by adding users as a resource to config/routes.rb
とのことで config/routes.rb に以下をとのこと。
SampleApp::Application.routes.draw do # get "users/new" resources :users match '/signup', :to => 'users#new'
これで "/users/1" な URI にアクセスできます。resources か。先に怪しい気がしてたのでコメントアウトしてたけど、いっちゃん上の get はコメントアウトで正解だった模様。
とりあえず
この時点で commit しとけ、とあります。
$ git add . $ git commit -m "Finished first cut of the User model"
6.5 Exercises
以下、対応できれば、と思ってますがどうなるか。
- Read through the Rails API entry for ActiveRecord::Base to get a sense of its capabilities.
- Study the entry in the Rails API for the validates method to learn more about its capabilities and options.
- Spend a couple hours playing with Rubular.
時間があれば API なドキュメントを見てみたいかも。そして Rubular って何だろ。