日別アーカイブ: 2021年11月21日

Rails-tutorial自分用まとめ(第7章ユーザー登録 主に演習とその回答)

その6から続きます

7.1.1 デバッグとRails環境

サイトのレイアウトにデバッグ情報を追加するapp/views/layouts/application.html.erb
<!DOCTYPE html>
<html>
  .
  .
  .
  <body>
    <%= render 'layouts/header' %>
    <div class="container">
      <%= yield %>
      <%= render 'layouts/footer' %>
      <%= debug(params) if Rails.env.development? %>
    </div>
  </body>
 デバッグ表示を整形するための追加と、Sassのミックスイン.
app/assets/stylesheets/custom.scss
@import "bootstrap-sprockets";
@import "bootstrap";

/* mixins, variables, etc. */

$gray-medium-light: #eaeaea;

@mixin box_sizing {-moz-box-sizing:    border-box;-webkit-box-sizing: border-box;box-sizing:         border-box;}.
.
.
/* miscellaneous */
.debug_dump {clear: both;float: left;width: 100%;margin-top: 45px; -moz-box-sizing:    border-box;
  -webkit-box-sizing: border-box;
  box-sizing:         border-box;
}

演習

1:ブラウザから /about にアクセスし、デバッグ情報が表示されていることを確認してください。

このページを表示するとき、どのコントローラとアクションが使われ
ていたでしょうか? paramsの内容から確認してみましょう。

controller: static_pages
action: about

2:Railsコンソールを開き、データベースから最初のユーザー情報を取得し、変数userに格納してください。

その後、puts user.attributes.to_yamlを実行すると何が表示されますか?
ここで表示された結果と、yメソッドを使ったy user.attributesの実行結果を比較してみましょう。

user = User.first

表示は同じ

HTTP   リクエストURL  アクション 名前付きルート        用途
GET    /users       index   users_path     すべてのユーザーを一覧するページ
GET    /users/1     show    user_path(user) 特定のユーザーを表示するページ
GET    /users/new   new     new_user_path  ユーザーを新規作成するページ (ユーザー登録)
POST   /users       create  users_path     ユーザーを作成するアクション
GET    /users/1/    edit    edit edit_user_path(user) id=1のユーザーを編集するページ
PATCH  /users/1     update  user_path(user) ユーザーを更新するアクション
DELETE /users/1     destroy user_path(user) ユーザーを削除するアクション
Usersリソースが提供するRESTfulなルート

演習

埋め込みRubyを使って、マジックカラム (created_atとupdated_at)
の値をshowページに表示してみましょう埋め込みRubyを使って、
Time.nowの結果をshowページに表示してみましょう。
ページを更新すると、その結果はどう変わっていますか? 確認してみてください。

<%= @user.name %>, <%= @user.email %>,
<%= @user.updated_at %>, <%= @user.created_at %>,
<%= Time.now %>

続きを読む