最近の記事

findメソッドのまとめ方

コントローラーでfindメソッドを使った同じコードが複数回出てきた場合、可読性の向上と保守(修正作業)が発生した際に手を加えやすくするため まとめる必要がある! 変更前 class ItemsController < ApplicationController before_action :authenticate_user!, only: [:new, :edit, :update] def index @items = Item.all.order("cr

    • ログイン状態によって表示するページを切り替える(Ruby on rails)

      💡authenticate_user!メソッド ログイン状態によって表示するページを切り替えられるdeviseのメソッド 処理が呼ばれた段階で、ユーザーがログインしていなければそのユーザーをログイン画面に遷移させる before_actionで呼び出すことで、アクションを実行する前にログインしていなければログインに遷移させられる ▶️指定したアクションだけ実行する場合 app/controllers/teets_controller.rb class Applicat

      • current_userメソッド

        なぜかこのメソッドの存在を忘れるんです、、自身の備忘録として残します。 💡current_userメソッドとは ・Gemのdeviseを導入していると使用できるメソッド ・現在ログインしているユーザーの情報が取得できる 本日記述した内容は、 「ログインしているユーザーと商品登録したユーザーが同じ」という条件分岐 <% if current_user.id == @item.user_id %> 最初はあってるはずなのに、エラーが出て 何でかな、と思ったらcurrent

        • 表示順の並び替え(Ruby on rails)

          何らかのと保存したデータを表示する際に、表示順を変えたい場合 情報を取得するタイミングで並べ替える! 例)投稿したitemを並び替える場合 class ItemsController < ApplicationController before_action :authenticate_user!, only: [:new] def index @items = Item.all.order("created_at DESC") end 使用するのは、ord

        findメソッドのまとめ方

          Active Hashの導入方法

          Active Hashとは、 都道府県名一覧やカテゴリーなどの「変更されないデータ」をデータベースに保存せずにデータを取り扱うことのできるGemのこと。 詳細ドキュメント:https://github.com/active-hash/active_hash 導入方法・Gemfileを修正 末尾に以下のコードを追加 Gemfile 中略gem 'active_hash' →bundle installを実施 ・モデルを作成(例として都道府県を使用) ※作成したいカ

          Active Hashの導入方法

          ArgumentErrorの解決法

          エラー発生箇所 チャットルーム作成時、作成ボタンを押したタイミング エラー内容 Argumentとは、「引数」という意味 ArgumentErrorは「引数のエラー」ということ。 そして、ヒントが2個記載されている。 ①roomsコントローラーのcreateアクションで起きてるよ ②引数1個を期待していたけど、2個あるよ ということ。 つまり、 「roomsコントローラーのcreateアクションで引数のエラーが起きている。 具体的には、引数の数が間違っていて、与えら

          ArgumentErrorの解決法

          【Ruby on rails】エラーから学んだ、deviseのしくみ

          起きたこと ユーザー管理機能を実装するにあたり、ログイン画面で全ての項目を入力しても登録できず、ログイン画面のままになってしまう エラー内容 ローカル環境ではエラー表示はされず、ターミナルで以下の表記 Started POST "/users" for ::1 at 2024-05-16 21:01:48 +0900Processing by Devise::RegistrationsController#create as TURBO_STREAM Paramet

          【Ruby on rails】エラーから学んだ、deviseのしくみ

          Routing Error エラーの解決策

          ①エラー内容が何かを考える Routing Errorが出た時は 受け取ったURLとコントローラ内アクションが対応関係にない ことが考えられる。 つまり、ルーティングを設定しているroutes.rbを確認する必要がある。 routes.rbの役割は、「どのHTTPメソッドでどのパスを受け取った時に、どのコントローラーでどのアクションを動かすかを設定する」こと。 つまり、どの部分で問題が起きているかを考える。 ②何をした時にエラーが出たのかを把握するどのページにアクセスし

          Routing Error エラーの解決策