Rails
やりたいこと 前提 実装の流れ Gem導入 SystemSpecファイルの作成 ドライバの設定 モジュールの設定 モジュールを読みこめない… タグの設定 SystemSpecファイルの設定 create_listで連続するテストデータを作成する。 letとlet!の違い エラーが起こったとこ…
前提 RSpecのセットアップ済 FactoryBot導入済 実現したいこと 既存のTaskモデルのバリデーションをチェックしたい 文法に馴染みがなく、簡単なテストなはずなのに半日くらいかかってしまいました。 分かりにくかった部分だけ、復習していきます。 モデルス…
実装の流れ mkcertを使って、SSL通信(https)をできるようにする Facebook for Developersに登録し、アプリのキーやIDを取得する sorceryのwikiに沿って設定 Facebookログイン(クライアントOAuth)の設定 細かいことは、参考にしたブログに詳しいので、自分…
実装の流れ gem exception_notificationの挙動 slack通知設定 credentials.yaml.encの編集 エラーハンドリング設定 Rails.root.joinって…? Pathnameとは 他の分かりにくかったコード renderのオプション エラー 参考にしたもの 実装の流れ gem Slack-notifi…
実装したいこと 前提 実装の流れ Controller Custom Predicates ransackのpredicateとは? Arelとは end_of_day View 実装したいこと 掲示板一覧画面に、作成日で掲示板検索できる機能を実装したい 前提 ransack導入済み 実装の流れ コントローラーにransack…
前提 実装したいこと 実装の流れ Install EnumHelp I18n local file View ransackのプルダウン検索実装 Controller View f.select エラー 参考 前提 enum&ransack&i18n導入済です。 AdminLTEを使って管理者用機能を実装する(トップページ) - Ruby on Rai…
実装したいこと 掲示板関連のページを使用しているときは、サイドバーの「掲示板一覧」をアクティブの状態にしたい。 ユーザーのときも同様。 サイドバー 実装 Bootstrapを使用しているので、例えばこのようにclassにactiveを含めると、アクティブにしてくれ…
実装したいこと 実装の流れ Controller Routing View エラーの記録 実装したいこと 管理者用トップページは前回作成したので、今回は管理画面へのログイン機能を実装していきます。 管理者画面へのログインページを作成 管理者画面へのログインページを使っ…
実装したいこと 実装の流れ AdminLTEをインストールする マニフェストファイルの設定 そのため、個別にファイルを読み込む記述に変更しました。 アセット関連の設定 Controller Admin::BaseController作成 Userモデルにadmin判定用のカラムを追加する enumを…
環境開発でメールを確認したい letter_opener_webを導入する 動作確認 参考 環境開発でメールを確認したい 前回、パスワードリセット機能を実装しましたが、実際に送信されるメールを確認したいです。 ※既にメイラーは前回実装済。 letter_opener_webを導入…
掲示板の検索機能を実装したい 要件 ransackを導入する Controller Views urlオプションについて パーシャルを読み込む 参考 掲示板の検索機能を実装したい 掲示板の一覧画面に以下のような検索フォームを配置し、入力したワードを含むタイトルor本文を持つ…
kaminariを導入し、1ページにつき掲示板を20個表示させたい 現在は全ての掲示板が、1ページに表示されています。 今後、掲示板の数が増えることを考え、見易いようにページネーションしていきます。 ページネーションとは、例えば、1ページにつき一度に2…
レイアウトにデバッグ情報を追加する <body> <%= debug(params) if Rails.env.development? %> #ここを追加。 </body> デバック情報が見られるようになる デバッグ情報が、下部に現れる Rails 6.0 対応でプログラミング学習 - Railsチュートリアルrailstutorial.jp
Ajaxとは ブックマーク機能をajaxを使用した処理に変更すると、ページの一部だけ(☆★部分)が更新され、実際の処理はバックグラウンドで行われます。(非同期通信) ★と☆が入れ替わるだけで、実際の処理(ブックマークの追加・解除)はユーザーの見えないと…
前回は、モデルのアソシエーションの設定を終えました。 今回は、ルーティングとコントローラー、ビューの設定です。難しかった。間違っているかも また、各判定の処理はモデルに書いていきます。 ルーティングの設定 resources :users, only: %i[new create…
今回は難しくてかなり詰まってしまいました。復習します。 今回実装したいこと 掲示板を「お気に入り」すると★マーク、「お気に入り解除」すると☆マークに変わる。 「お気に入り」「お気に入り解除」 それぞれで、フラッシュメッセージを表示する。 「お気に…
実装したいこと 掲示板画面 掲示板一覧画面と詳細画面にそれぞれ、編集と削除ボタンを表示する。 編集・削除ボタンは、掲示板作成者本人にしか表示されない。 削除ボタンをクリックすると、「本当に削除しますか?」と確認アラートが表示される。 直接URLを…
ページごとにタイトルを変化させて出力したい タイトルとは、ブラウザのタブ部分に表示されるここのこと↓ タイトル 「掲示板作成 | 固定タイトル」のように、左側部分だけページごとに出力を変えたい 掲示板詳細ページのタイトルは、掲示板のタイトルを表示…
前回からの続きです。 モデル・ビュー側の設定は終わったので、コントローラーを設定していきます。 (どういう順番でやるのが正しいんでしょうか…) boards_controllerへの追記 先にViewを作成していきましたが、掲示板詳細画面(show)でコメントの新規作成…
ルーティングの設定 ルーティングをネスト(入れ子にする)して、boardsとcommentsとの親子関係を表していきます。 今回必要なのはcreateアクションだけなので、とりあえずこのようにネストすると resources :boards, only: %i[index new create show] do re…
掲示板にコメントを書き込めるように実装する 掲示板一覧から掲示板詳細画面へ遷移すると、その掲示板についてコメントを書き込めるようにしたい 書き込んだコメントは、同じページの下部に更新順に表示される コメントを削除・編集できるのは、コメントした…
今回、実装したいこと 掲示板に画像を投稿したい。 画像を登録する前に、プレビュー表示したい。 画像の登録がない掲示板は、デフォルトの画像を表示する。 登録できるファイルの種類を、jpg,jpeg,png,gifだけに制限したい。 許可されている以外のファイルを…
フラッシュメッセージのようなエラーメッセージを表示したい 前提 エラーメッセージを表示するパーシャルを作成する BootStrap使い方メモ つくったエラーメッセージ用のパーシャルをビュー側で読み込めるようにする。 f.objectって?? フラッシュメッセージ…
UserモデルとBoardモデル間で関連付けを行っているときの掲示板作成方法 掲示板作成の機能を実装しようとしたところ、登録に成功しない… def create @board = Board.new(board_params) #ここを修正する。 if @board.save redirect_to boards_path, success: …
掲示板一覧のページを作成する。 パーシャルを作成する。 index.html.erbからさっきのパーシャルを読み込む 掲示板一覧のページを作成する。 こんな完成図のイメージ(名前はFakerを使ったダミー) 掲示板一覧 パーシャルを作成する。 個々の掲示板パーツを…
Fakerでサンプルデータを用意する 掲示板機能を備えたページを作成するときに、サンプルデータを投入してみます。 Gemfile にFaker gemを追加する。 gem 'faker' いつものようにbundle install データベース上にサンプルデータを生成するRailsタスク 10人…
decoratorとは viewを装飾するメソッドを追加したいが、モデルに書くとファット化してしまうため、decoratorに記述する。 modelとviewの間にdecoratorを挟むて感じ(たぶん) 早速実装 今回は、Decorator内でfull_nameというメソッドを定義して、 姓名をview…
Railsにおけるフラッシュメッセージ フラッシュメッセージとは、ログインに成功/失敗したときなど、ページの一番上にでる一時的なメッセージのこと。 Railでは、flashというハッシュ形式のオブジェクトが設定されている。 デフォルトではnoticeとalertという…
gemとは Ruby用のパッケージ管理ツール bootstrapとfont-awesomeを導入する ①Gemfileに以下を追記する。 ※ jqueryを記入漏れし、ドロップボタンが動かず、30分溶かした… gem 'bootstrap', '~> 4.1.1' gem 'jquery-rails' gem 'font-awesome-sass', '~> 5.13.…
railsにおけるimage_tagの使い方メモ アセットパイプライン - Railsガイド ①画像が、app/assets/image 以下にあるとき… 画像名でOK <%= image_tag 'sample.jpg' %> ②画像が、public/以下のとき… publicディレクトリからの相対パスを指定する。 <%= image_tag…