ume

rails6 Deviseのconfirmable機能が邪魔してfakerで架空のデータ作成できない

前書き 今ユーザーを登録する際以下の流れで登録できるアプリを作成しています. ①ユーザー情報を仮登録⇨②ユーザーに本人確認のメール送信⇨③本登録 この流れのアプリにfakerでダミーデータを作成しようとした際下記のエラーが出力されたので忘却録として記事…

検索機能を実装するためにransackというgemを使用しました。 選定理由3つ. ①やりたいことができる. ②長期的にgemの動作が安定している. ③最速で実装できる 選定理由に対する根拠(思考プロセス) 他のユーザーを特定するといった検索機能を実装したいと思いま…

rails Gemの選定基準

前書き Gemの選ぶ際どういう点に気を付けてGem選びをするか曖昧なので具体化しまた振り返りたいので記事に残します。 前提選定する上で「これが正解」とかはないです。 全体像 やりたいことを明確にする どんなgemがあるかをリストアップ 選定基準を明確にす…

rails gem simple_calendarで2つのテーブルからデータを取得しカレンダーに表示する

初めに simple_calendarというgemをオリジナルアプリ(目標管理アプリ)に導入した際、カレンダーに1つのテーブルからデータを取得、表示するといったqiita記事はよく見かけたのですが「2つのテーブルからそれぞれデータを取得しカレンダーに表示させる」とい…

github issueの使い方

目次 issueとは? issueを作成してみよう タスクを他人に振り分けてみよう まとめ issueとは? ⇨2つの機能がある. バグの報告 タスクを他人に振り分ける(チーム開発) issueを作成してみよう まずはバグを報告してみる. ↓New issueをクリック [タイトル]と[バ…

javascriptのイベントの伝播(キャプチャリング、バブリング)

対象者 DOM操作が理解できている方 アドイベントリスナーを使ったことがある方 キャプチャリングとは? ⇨親要素のイベントが発生すると子要素のイベントも発火する現象。 こんな感じ これは各div要素とbodyにクリックするとクリックした要素が赤くなるように…

rails6 scopeメソッドと使い方

scopeメソッドとは? ⇨ActiveRecordの機能の一つで自分のオリジナルのSQLを作成できメソッドのように扱える。 ActiveRecordとは? ⇨メソッドのようにSQLが扱える機能。例find_byメソッドやcreateメソッドなど。 例 データベースからデータを取得する. Active…

rails6 jQuery radioボタンカスタマイズ

前書き rails6のradio_buttonタグでradioボタンを作成したところデフォルトのスタイルをクリックしたら文字の色が変わるようにスタイルを変更したいと思いました。色々苦戦したので記事に残します. 環境 Ruby 3.0.6 Rails 6.1.7.6 jquery: 3.7.1 変更前. . …

【Rails】dependent: :destroyとdependent: :delete_allの違い

結論 どちらもやってることは同じ ただ処理の仕方が違うだけ. ↓処理の違い :destroy :delete_all 処理の速さ 遅い 早い データベースの負荷 多い 少ない コールバックの有無 あり なし そもそもdependent:オプションって何? ⇨親テーブルのレコードが削除さ…

Jsonファイル基本

Jsonって何? ⇨JSONとは、データを記述するための表記法のひとつ そもそもデータって? ⇨2種類ある. ①基本データ型 ⇨整数、少数、文字、真偽値 ②集合データ型 配列型、文字列型、クラスや構造体(Javascriptのclassなど) 複数のデータをまとめて一つのデー…

rails6 paramsオブジェクトを作成する方法

前書き 変更前 Parameters: {"authenticity_token"="[FILTERED]", "weekly_goal"=>"ダイエット", "start_time"=>"2023-09-21", "monthly_goal_id"=>"1", "user_id"=>"1", "commit"=>"登録", "id"=>"1"} ↓. 変更後 Parameters : {"authenticity_token"=>"[FIL…

データベース 文字数制限のバリデーションについて

前書き オリジナルアプリを開発中データベースに文字数制限のバリデーションをかけようとして最大文字数を何文字で設定するのがいいのかな?と疑問に思ったので将来の自分へと、また同様の疑問を抱いた人に有益になるように記事に残します。 結論 ⇨アプリの…

rails6 simple_calendarの使い方

前書き rails6でオリジナルアプリを作成中にカレンダーを表示したいと思いsimple_calenderというgemを知り使ってみると色々躓いたので今後「私と同じような人を減らしたいと思い」記事にします。 ちなみにこんな感じのカレンダーが作成できます↓ 説明するこ…

Jsonファイルとは?またメリットや利用シーンは?

前書き railsでオリジナルアプリを作成中にjsonファイルを使う必要が出たのですが『そもそもjsonファイルって何?』「メリットは?」「どういう時に使うの?」というった疑問が湧いたので記事に残します。 jsonって何? ⇨JavaScript Object Notationの略で「…

javascript The resource ファイル名 was preloaded using link preload but not used within a few seconds from the window's load event.

結論 ⇨javascriptやcssなどの構文エラーが原因なので自分が書いたjsファイルの構文を見直す必要がある エラーの意味 javascript The resource ファイル名 was preloaded using link preload but not used within a few seconds from the window's load event…

rails6 自作クラスのディレクトリの位置と設定

記事で説明しないこと クラスの作り方の詳細 全体像 自作クラスをどのディレクトリに保管しておくか 自作クラスを使用する上で便利な設定 1. 自作クラスをどのディレクトリに保管しておくか ⇨appディレクトリの中にlibディレクトリを作成しその中に自作クラ…

rails6 devise Errno::EHOSTUNREACH in Users::RegistrationsController#create エラー

エラー全文 ホストが見つかりませんというエラーです。 経緯. rails6でdeviseを導入しログインログアウト機能をサクッと実装しようとしました。devise導入後にアカウント登録しようとformの情報を送信後上記のエラーに遭遇しました。 結論 ⇨ config/environm…

git ignoreを使ってgithubのリモートリポジトリで特定のファイルを管理しない方法

対象者 git ignoreって何?って方 git ignoreの意味はわかるけど使ったことがない方 git ignoreとは ⇨特定のファイルをgitの管理から外す=git pushしてもgithub(リモートリポジトリ)には送信されない. イメージ(git ignoreを使用しない場合)↓ イメージ(g…

rails6にdeviseを導入しアカウント登録後確認メールが送られてこない

対象者 deviseでアカウント登録した後に確認用メールが送られてこなくて困っている方 説明しないこと deviseのセットアップ 全体像(メール認証) ①メール認証を使える状態にする. ②Railsアプリでメール送信を行う為の設定(SMTPサーバーの設定)をする ①メール…

rails Missing host to link to! Please provide the :host parameter, set default_url_options[:host] エラー

#エラーの経緯 モデルのバリデーションのテストをしようとかきをuser_spec.rbに記載しました↓ it 'should be unique in name' do @user.save user = FactoryBot.build(:user, name: 'ゼルダ') expect(user).to be_invalid end rspecコマンドでテストを走らせ…

rails6 Webpacker::Manifest::MissingEntryErrorを解決する

結論 →node.jsのバージョンがwebpackerと噛み合ってない可能性があります。 なので私の場合node.jsをダウングレードするとrails serverが起動できるようになりました。 手元のpcでインストールされてるnodeのバージョン確認と現在使用されているバージョンの…

PostgreSQLが起動しないエラー  postgres: could not access directory "/usr/local/var/postgres": No such file or directory

対象者 ポスグレを起動できない人 postgres: could not access directory "/usr/local/var/postgres": No such file or directory Run initdb or pg_basebackup to initialize a PostgreSQL data directory. このエラーが出力される人 結論 このコマンドでポ…

Ajax通信の概要から使うまで

対象者 rails tutorialを学んでいる方 Ajax通信とは ⇨一言で言うと「画面の一部分のhtmlを読み込んだり更新したりする」. 詳しくは↓の記事を参考にしてみてください。 loveenglish.hatenablog.com Ajax通信を使ってみよう 今回はrails tutorial14章を参考にA…

has_many :following, through: :active_relationships, source: :followed意味

対象者 rails tutorial14章取り組んでいる方 コードの意味 user.rb class User < ApplicationRecord has_many :following, through: :active_relationships, source: :followed end このコードを見て混乱したので理解を定着させたいので記事にします。 前…

画面設計図と画面遷移図

対象者 初めてwebアプリを作成しようとしているかた 画面設計図と画面遷移図とは 画面設計図とは? ⇨ユーザーが実際に見るページ. ↓例 画面設計図 なぜ必要なの? ⇨この画面は直接ユーザーの目に入り、実際にユーザーさんが触れる部分です。 そのため、この画…

機能一覧

対象者 初めてwebアプリを制作するかた ⚠️注意 今回の記事は前回の続きなのでまだ読んでいない方は↓から読んでください。 loveenglish.hatenablog.com 機能一覧(アプリにどんな機能を持たせるか) 機能一覧表作成の目的. ⇨後からアプリに不必要な機能を実装し…

webアプリ制作 手順

記事の対象者 初めてwebアプリを作成する方 どういう手順で作成するかわからない方 アプリ制作全体像 ①要件定義(誰のどんな課題を解決するかを決める). ②機能一覧表作成(どんな機能をアプリに持たせるかを決める). ③画面設計図. (作成するアプリの画面…

レイアウトの決め方

この記事の対象者 これから初めてオリジナルアプリを制作しようとしている方 アプリを初めて作成される方 レイアウトとは ⇨何を、どこに、どのように配置するのかを決める. レイアウトの概念はインテリアやポスター、新聞、チラシ、雑誌などあらゆる分野の中…

webデザインとは

対象者 初めてwebアプリを作成する人 どんな画面レイアウトだとユーザーが使いやすいかを知りたい方 デザインとは ⇨情報を正しく伝える手段. アプリの場合. 情報を正しく伝える目的はアプリを通じて価値を届けるためで理想は誰に使い方を教えてもらえなくて…

Rspec フォーマットエラー

エラー遭遇 Failure/Error: get :home ActionController::MissingExactTemplate: SaralyController#home is missing a template for request formats: text/html エラーの経緯 簡単な自作アプリをrailsで作成中にrspecのコントローラスペックで「get :homeと…