気軽に楽しくプログラムと遊ぶスマートフォン用の表示で見る気軽に楽しくプログラムと遊ぶ自分が興味があってためになるかもって思う情報を提供しています。プロゲートの上級3章(ユーザー認証を仕上げよう)Rails今回はプロゲートの上級3章、「ユーザー認証を仕上げよう」をやっていきます。プロフィールの編集を制限しよう下記の対応を行う。ユーザー一覧でログインユーザー(自分)のみ編集可能とする。別ユーザーの編集ページにURL直で遷移できないようにする。ユーザー一覧でログインユーザー(自分)のみ編集可能とするログインユーザーのみ編集ボタンを表示する。更新アクション実行時はログインしているユーザーの場合のみ実行可とする。endendコントローラでヘルパーを使おうNoteにも認証を追加しようNoteもUserと同様に自分が作成した投稿のみを編集できるように修正する。belong_toのおかげでnoteオブジェクトからuserオブジェクトへアクセスできる。endenduserとnoteは認証方法が全く同じなので、ヘルパーを定義し、DRYな実装にリファクタリングする。ログインユーザー判定ヘルパーを作成するヘルパークラスがモジュールである理由ヘルパーに定義した関数はコントローラー、viewへの機能追加の意味を持つ。よってクラスへインクルードできるmoduleで定義する。helperをinclude(機能追加)すれば呼び出し可能ヘルパーのincludeヘルパーをインクルードする対象によって呼び出し可能なスコープが変化する。全Controller内で呼び出し可能(ApplicationControllerは全Controllerで継承されているから)アクションを移動しようログイン後のみ、新規登録フォーム・投稿記事一覧を表示する対応を行う。トップ画面の表示コントローラーに新規登録と投稿記事一覧表示アクションを移動する。・endhome_controller.rb.へ移動する。・end一覧を表示する順番を指定しようモデルより取得した情報を昇順、降順に並び替える。#作成日の昇順で並び替えorderの引数には、ハッシュの形でKeyに項目名、valueに並び替え方を設定する。:descを短く書く書き方buildを使おうNote生成時にログインユーザーのIDが自動設定されるように修正する。記事投稿フォームからユーザーIDを削除する。上記に伴い、作成アクションのstrongパラメータでユーザーIDを受け取らないように変更。endendbuildを使ってuser_idを設定するNote.newではuser_idは設定されないがbuildではuser_id(外部参照key)を自動セット。試験範囲を一気に見直すよく見られている記事プロフィールid:tamata78Ruby、Rails、Vim等の自分が興味があって役に立つかもっていう情報をまとめてます。(1)月別アーカイブはてなブログをはじめよう!tamata78さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。