最近の記事

レコードの中で最新のデータを表示する【Ruby】

オリジナルアプリ作成中に新たに学んだことがあったため残します。 実装したい内容目標設定を行い、トップページで目標を表示する 目標設定機能を実装中に気付いたのですが、、、目標設定を複数登録した場合 に全て表示されては困る。 目標達成したら次の目標を設定したいので、都度更新されるイメージ。 ではこれをどうしたら表示できるのか。 実装方法コントローラーで最新レコードを表示する方法があった! 省略 def index @target = current_user.ta

    • 正規表現で条件の一致を判別~URL~(Ruby on rails)

      学んだことを忘れないようにまとめる。 ▶️雛形 def specific_url?(url)# 【ここに処理を記述】endurl = "https://hoge.com/123/index.html"puts specific_url?(url) ▶️解答 def specific_url?(url) if url.match(/\Ahttps:\/\/hoge.com\/\d{1,3}\/index.html\z/)!= nil return True e

      • 正規表現で文字の置き換え(Ruby on rails)

        学んだことを忘れないようにまとめます。 ▶️雛形 def hide_the_number(number) # 【ここに処理を記述】endcard_number = "1234-5678-9012-3456"puts hide_the_number(card_number) ▶️答えから記述するとこちら def hide_the_number(number) number.sub(/^(\d{4}-\d{4}-\d{4})-(\d{2})/, '****-****-

        • マイグレーションファイルの削除方法

          誤ってマイグレーションファイルを作成してしまい 調べた内容と結果を報告します! ▶️今のマイグレーションファイルの状態確認 削除できるかどうかをまず確認するため bundle exec rake db:migrate:status 入力すると、以下の結果が出ました。 Status Migration ID Migration Name-------------------------------------------------- up 2

        レコードの中で最新のデータを表示する【Ruby】

          【Ruby on rails】 テストでエラー MySQL client is not connected

          モデルの単体テストコードを実装中に、テスト内容の途中からエラーが発生 OrderAddress 商品購入 商品購入できる場合 すべての値が正しく入力されていれば保存できる building_nameは空でも保存できる 商品購入できない場合 post_codeが空だと保存できない post_codeが半角でないと保存できない post_codeが半角ハイフンなしでは保存できない (FAILED - 1)

          【Ruby on rails】 テストでエラー MySQL client is not connected

          findメソッドのまとめ方

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

          findメソッドのまとめ方

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

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

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

          current_userメソッド

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

          current_userメソッド

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

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

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

          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 エラーの解決策