assetsフォルダの画像とpublicフォルダの画像とセレクタの部分一致

assetsフォルダの画像とpublicフォルダの画像とセレクタの部分一致 rspecを記述している時に、画像の表示をテストする際にsrc属性の値をチェックする際に少しハマった事があったので、こちらにまとめます。 ・[public]フォルダに画像を保存した時 [public]フ…

モデルのrspec

モデルのrspecテスト モデルのrspecのテストは、以下の3種類をテストするのが一般的です。 ・バリデーションのテスト ・モデルのインスタンスメソッドのテスト ・モデルのクラスメソッドのテスト 参考記事 【Ruby on Rails】RSpecのModel(モデル)テスト書…

ビューファイルでの日時のフォーマット

ビューファイルでの日時のフォーマット ビューファイルでの日時のフォーマット形式について、備忘録としてこちらにまとめます。 下記のようになっています。 [db/schema.rb] create_table "cooking_memories", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8…

simple_formatの使い方

simple_formatの使い方 simple_formatの使い方について調べたので、こちらにまとめます。 ブラウザで下記のように登録する DBには、下記のように保存されている。 memo: "アジフライ美味しい\r\nアジフライ美味しい\r\n<h1>アジフライ美味しい</h1>\r\n<h2>アジフライ美味</h2>…

ActiveStorageの画像の保存先

ActiveStorageの画像の保存先 ActiveStorageの画像の保存先が分からず調べたので、備忘録としてこちらにまとめます。 [carrierwave]Gemを使って画像をアップロードした時は、下記のようにpublic/uploadsフォルダ以下に画像が保存されます。 しかしActiveStor…

過去のコミットを編集したい

過去のコミットを編集したい 過去にコミットしたものの内容を変更したい場合の方法を備忘録としてこちらに残します。 過去にコミットしたFix CookingMemoryのカラム名の変更というコミットの内容を変更したい場合 修正したいコミットはHEADから1つ前なので、…

ビルトインコマンドと外部コマンド

ビルトインコマンドと外部コマンド ビルトインコマンドと外部コマンドの違いが分からなかったので、こちらにまとめます。 ビルトインコマンド:ファイルとしての実体は無く、シェルに組み込まれている 外部コマンド:PATHに記述されたディレクトリに実行ファイ…

railsコマンドやrubyコマンドが使えなくなってしまった。。。

railsコマンドやrubyコマンドが使えなくなってしまった 開発中に[railsコマンド]や[rubyコマンド]急にが使えなくなってしまってかなり焦って、ハマってしまったことがあったので、こちらにまとめます。 [libvips]gemをインストールするのに以下を実行しまし…

f.number_fieldの初期値

f.number_fieldの初期値 f.number_fieldの初期値を設定する際に調べたことを自分の備忘録としてこちらにまとめます。 下記のようなセレクトボックスの場合に検索後に、検索に選択したセレクトボックスの内容をそのままにする際は、[selected]オプションを付…

セレクトボックスについて

セレクトボックスについて セレクトボックスを実装する際にセレクトボックスについて詳しく調べたので、備忘録としてこちらにまとめます。 下記のようなセレクトボックスを実装した。 コードは、以下のようになっている。 [app/views/cooking_informations/_…

jQueryのhtmlメソッドとtextメソッドでハマったこと

jQueryのhtmlメソッドとtextメソッドでハマったこと jQueryのhtmlメソッドとtextメソッドでハマったことがあったので、こちらにまとめます。 上記の[合計の料理時間は?]をクリックすると、非同期通信により以下ファイルがブラウザにレスポンスされるように…

renderで指定したファイルがレンダリングする際にエラーになってしまう

renderで指定したファイルがレンダリングする際にエラーになってしまう現象 renderで指定したファイルがレンダリングする際にエラーになってしまうことがあり、ハマったのでこちらにまとめます。 以下のようなコードを記述していました。 [app/controllers/c…

form_withの非同期通信

form_withの非同期通信 form_withの処理でハマってしまったことがあったので、こちらにまとめます。 以下のようなコードを記述していました。 [app/controllers/cooking_informations_controller.rb] def search_time @fishes = Fish.all @cookings = Cookin…

ActiveModel::ModelモジュールとActiveModel::Attributesモジュール

[ActiveModel::Model]モジュールと[ActiveModel::Attributes]モジュールの違いがいまいち分からなかったので、こちらにまとめます。 ・[ActiveModel::Model]モジュール [ActiveModel::Model]モジュールをincludeしてできるようになる主な事は、以下のような…

JavaScriptのメソッドと使い方

JavaScriptのメソッドと使い方 セレクトボックスなどで選択したvalueの取得(e.target.valueの使い方) [html] <select class="search_form" name="q[fish_kind_eq]" id="q_fish_kind_eq"> <option value="">魚の種類(必須)</option> <option value="アジ">アジ</option> <option value="マメアジ">マメアジ</option> <option value="イカ">イカ</option> <option value="サバ">サバ</option></select>

不可算名詞をモデルやテーブルに使う場合の注意点

不可算名詞をモデルやテーブルに使う場合の注意点 アプリケーション開発中にモデル名やテーブル名に不可算名詞を使う機会があり、そこで少しハマったのでこちらに対処方法をまとめます。 [fish]というモデル名で[fishes]というテーブル名を付けたい場合に、…

Active Recordのモデル名が異なっているエラー

Active Recordのモデル名が異なっているエラー Active Record関連でハマってしまったことがあった為、こちらにまとめます rails c実行時に以下のようにエラーになってしまいました。 $ rails c Loading development environment (Rails 6.0.4.1) irb(main):0…

Herokuでのデプロイ

Herokuでのデプロイ Herokuでのデプロイの際にハマった事があったので、こちらにまとめます Herokuでデプロイする際に以下のようにエラーになってしまい、プラットフォームが違うとなってしまいました。 higmonta@higuchimiyukiyuunoMacBook-Pro heroku_depl…

ネットワークとIPアドレス

ネットワークとIPアドレス ネットワークとIPアドレスについて勉強したので、こちらにまとめます ネットワーク: コンピューター同士が通信するための環境や設備のこと ネットワークは、LANがいくつか存在し、そのLAN同士がゲートウェイと呼ばれる中継機(ルー…

Sequel Proについて

Sequel Proについて データベースの中身がどのようになっているかや、データベースの操作をGUIで見やすくした[Sequel Pro]というツールがあります 今回は、[Sequel Pro]ツールの基本的な使い方をこちらにまとめます 以下のようなアイコンが[Sequel Pro]ツー…

MySQLについて

MySQLについて GitHubからリポジトリをクローンして環境構築をする際にMySQLの導入や使い方で、ハマってしまったので、こちらにまとめます MySQLは、リレーショナルデータベース管理システムのことである MySQLは、Railsアプリケーションとやり取りをしてデ…

ActiveRecordでの内部結合

ActiveRecordでの内部結合 複雑なER図でのActiveRecordの使い方を勉強したので、いくつかの代表例をこちらにまとめます ER図は、以下になります(IE記法で[1対多]の表記が逆になってしまっています) ・内部結合したテーブルにwhereメソッドで条件を加える方法…

Railsの便利な日時メソッド

Railsの便利な日時メソッド Railsで開発をしていく中で、日時のメソッドを使うことがあります 今回は、Railsの便利な日時のメソッドをこちらにまとめます ・[new]メソッド irb(main):113:0> Time.new(2015,10,01) => 2015-10-01 00:00:00 +0900 irb(main):11…

ActionMailerのdeliver_nowとdeliver_laterの違い

ActionMailerのdeliver_nowとdeliver_laterの違い ActionMailerを実装している中で、[deliver_now]メソッドと[deliver_later]メソッドがあり、両者の違いが分からなかった為、こちらにまとめます [deliver_now]メソッド: 同期処理に送信される(ジョブの状態…

ActionMailerのプレビュー

[ActionMailerのプレビュー]について [ActionMailer]のプレビュー機能が便利だった為、こちらにまとめます [ActionMailer]のプレビュー機能を使えば、実際にメールが送信されることはないので、何度もメールのレイアウトを確認することができる プレビュー機…

オブジェクト指向とgetterとsetterとカプセル化

[オブジェクト指向とgetterとsetterとカプセル化] [オブジェクト指向],[getter],[setter],[カプセル化]という言葉を見かけることが多いが、それらの意味をあまり理解していなかったのでこちらにまとめます [オブジェクト指向] ○○指向というのは、〇〇を重視…

複数ファイルのアップロード

複数ファイルのアップロード 複数ファイルをアップロードしたい時は、以下のように記述する(simple_formの場合) [app/views ファイル] = f.input :main_images, as: :file, input_html: { multiple: true } # input_html: { multiple: true } というオプショ…

Swiper

Swiper Swiperは、画像などを動的にスライドできるjQueryのプラグイン 導入手順は、以下のようになる $ yarn add swiper ↓ [node_modules]にswiperがインストールされる swiperの公式にあるように[swiper-bundle.css]と[swiper-bundle.js]を読み込むようにし…

カスタムバリデーター

[カスタムバリデーター]とは? モデルに記載するのとは別で、自分でバリデーションメソッドを作成することができる [app/validators]を作成することで自動で読み込んでくれる EachValidatorメソッド [EachValidator]メソッドは、1つの属性に対しての検証を定…

Visual Studio Codeの便利ツール

Visual Studio Codeの便利ツール Visual Studio Codeの便利ツールがありましたので、こちらにまとめさせていただきます [code] 下記のようにして[code]という拡張機能をインストールする codeという拡張機能を入れると、下記のようにターミナルから[code デ…