Programming Journal

学習したことの整理用です。

2020-08-01から1ヶ月間の記事一覧

letter_opener_webを使って、開発環境でメールを確認する

環境開発でメールを確認したい letter_opener_webを導入する 動作確認 参考 環境開発でメールを確認したい 前回、パスワードリセット機能を実装しましたが、実際に送信されるメールを確認したいです。 ※既にメイラーは前回実装済。 letter_opener_webを導入…

ransackで検索機能を実装する

掲示板の検索機能を実装したい 要件 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とは ブックマーク機能を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…

掲示板にコメント機能を実装する①Commentモデルの作成と他モデルの関連付け

掲示板にコメントを書き込めるように実装する 掲示板一覧から掲示板詳細画面へ遷移すると、その掲示板についてコメントを書き込めるようにしたい 書き込んだコメントは、同じページの下部に更新順に表示される コメントを削除・編集できるのは、コメントした…

CarrierWaveを使って、掲示板に画像をアップロードする

今回、実装したいこと 掲示板に画像を投稿したい。 画像を登録する前に、プレビュー表示したい。 画像の登録がない掲示板は、デフォルトの画像を表示する。 登録できるファイルの種類を、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の使い方

Fakerでサンプルデータを用意する 掲示板機能を備えたページを作成するときに、サンプルデータを投入してみます。 Gemfile にFaker gemを追加する。 gem 'faker' いつものようにbundle install データベース上にサンプルデータを生成するRailsタスク 10人…

decoratorを導入する。

decoratorとは viewを装飾するメソッドを追加したいが、モデルに書くとファット化してしまうため、decoratorに記述する。 modelとviewの間にdecoratorを挟むて感じ(たぶん) 早速実装 今回は、Decorator内でfull_nameというメソッドを定義して、 姓名をview…

Bootstrapを利用したフラッシュメッセージの設定

Railsにおけるフラッシュメッセージ フラッシュメッセージとは、ログインに成功/失敗したときなど、ページの一番上にでる一時的なメッセージのこと。 Railでは、flashというハッシュ形式のオブジェクトが設定されている。 デフォルトではnoticeとalertという…

gemを使ってbootstrapとfont-awesomeを適用する方法メモ

gemとは Ruby用のパッケージ管理ツール bootstrapとfont-awesomeを導入する ①Gemfileに以下を追記する。 ※ jqueryを記入漏れし、ドロップボタンが動かず、30分溶かした… gem 'bootstrap', '~> 4.1.1' gem 'jquery-rails' gem 'font-awesome-sass', '~> 5.13.…