Ruby on Rails チュートリアルをやってみた【第10章】

Ruby on Rails チュートリアルをやってみた【第10章】
カテゴリ
技術
タグ
ruby
ruby on rails

第10章の実績

第10章 ユーザーの更新・表示・削除 を実施しました!
実施時間: 2時間

学べたこと

  • before_action
    例えば本章では、「before_action :logged_in_user, only: [:edit, :update]」とすることで、editとupdateメソッドを実行する前には必ず logged_in_userが呼ばれるのでそこでログインチェックを行えます。
  • サンプルユーザ作成用Railsタスク
    Fakerという外部依存関係があるので、Gemfileに「gem ‘faker’, ‘1.7.3’」を追加します。
    そして以下のスクリプトをdb/seeds.rbに記載して、①rails db:migrate:reset、②rails db:seedを実行します。これで”それっぽいユーザ”が大量(ここでは99人。必要であれば以下のコードの”99″部分を適宜置き換え)に作成出来ます。
199.times do |n|
2  name  = Faker::Name.name
3  email = "example-#{n+1}@railstutorial.org"
4  password = "password"
5  User.create!(name:  name,
6               email: email,
7               password:              password,
8               password_confirmation: password)
9end
  • ページネイション
    will_paginateがとにかく便利。コードとしてはUser.allをUser.paginate(page: params[:page])へ変更し、Viewに<%= will_paginate %>を記載するだけでページングとその操作まで含めて出来てしまう!また、ページネイションとは直接関係ないが、<%= render @users %>でuserの一覧をリスト形式で描画できてしまうのもすこぶる直感的で便利。

参考

環境

  • ruby: 2.3.3
  • ruby on rails: 5.1.4
  • OS: Windows 10 (64bit)
  • IDE: IntelliJ ULTIMATE 2018.1
  • リポジトリ:GitHub
https://github.com/nisioka/RubyOnRailsTutorial/tree/static-pages

リンク

【スポンサードリンク】


関連記事

  1. Ruby on Rails チュートリアルをやってみた【第14章】

    第14章の実績 第14章 ユーザーをフォローする を実施しました!実施時間: 5時間 学べたこと 多対多のリレーションシップ多対多の関係を持つモデルの場合でもRailsでは簡単にリレーションシップを表現することができます […]

  2. Ruby on Rails チュートリアルをやってみた【第13章】

    第13章の実績 第13章 ユーザーのマイクロポスト を実施しました!実施時間: 4.5時間 学べたこと モデルの関連付け「rails generate model Micropost content:text user: […]

  3. Ruby on Rails チュートリアルをやってみた【第12章】

    第12章の実績 第12章 パスワードの再設定 を実施しました!実施時間: 1.5時間 学べたこと 本章では特段新しいことはなかったです。 第11章 アカウントの有効化 と同じような内容で、復習に近いような内容でした。ただ […]

  4. Ruby on Rails チュートリアルをやってみた【第11章】

    第11章の実績 第11章 アカウントの有効化 を実施しました!実施時間: 1.5時間 学べたこと メール送信機能「rails generate mailer UserMailer account_activation p […]

  5. Ruby on Rails チュートリアルをやってみた【第10章】

    第10章の実績 第10章 ユーザーの更新・表示・削除 を実施しました!実施時間: 2時間 学べたこと before_action例えば本章では、「before_action :logged_in_user, only: […]

  6. Ruby on Rails チュートリアルをやってみた【第9章】

    第9章の実績 第9章 発展的なログイン機構 を実施しました!実施時間: 1.5時間 学べたこと cookies.permanent.signed[:user_id] = user.id上記コードは、「cookieに、永続 […]