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 デ…

Node.jsとnodenvとyarn

Node.jsとnodenvとyarn 今までフロント部分について曖昧な事が多かったため、こちらにまとめさせていただきます。 Node.jsとは? Node.jsは、JavaScriptがサーバー側で動くようにするものだが、今までJavaScriptのサーバー側バージョンの言語?と思っていた…

WebページへのSNSの埋め込み

WebページへのSNSの埋め込み WebページへSNSを埋め込む時の方法をこちらにまとめます YouTubeの埋め込みの場合 YouTubeを埋め込むにあたって、YouTubeには以下の3種類のURLが存在することを理解しておく必要がある [ブラウザから視聴するURL] # ブラウザから…

HTMLでの<iframe>

HTMLでのとは? タグは、HTML文書の中にもう一つのHTMLファイルを組み込むもの(インラインフレームという) を使えばWebページの中にYouTubeの動画などを埋め込むこともできる タグの使い方は、以下のようになる <iframe src="(Webページの中に組み込みたいHTMLのファイル)" width="(Webページに組み込むHTMLの横幅)" height="(Webページに組み込むHTMLの縦幅"></iframe> 以下が実際の使用例 <iframe src="test3.html" width="200" height="100"></iframe> タグを使った実際の…

html_safeメソッド

[html_safe]メソッドとは? Railsでは、<%=%>を使ってHTMLの出力をする場合<%=%>の中に[<],[>],[&],["]といったHTMLにおいての特殊な文字を入れると、HTMLとしての意味で表示されてしまうため、Railsでは自動でこういった文字をエスケープしてブラウザ上でHT…

slim形式の[|]と[']

slim形式の[|]と['] slim形式でパイプライン(|)とシングルクォーテーション(')の意味がなかなか理解できなかったので、こちらにまとめます。 パイプライン[|]は、[|]以降に記載したものをコピーしてテキストとして定義する シングルクォーテーション[']は、…

インライン要素とブロックレベル要素

インライン要素とブロックレベル要素 インライン要素とブロックレベル要素が曖昧だったため、こちらにまとめます インライン要素とブロックレベル要素の例を以下に示します <h1 style="background-color: blue;"><p>テストです</p></h1> # ブロックレベル要素の中にブロックレベル要素 <h1 style="background-color: blue;"><strong>テストです</strong></h1> # ブロック…

simple_form Gem

[simple_form]Gemについて [simple_form]Gemは、Railsでのフォームの記述を簡単にする為のGemです。 また、[enum_help]Gem(enumの日本語翻訳)と組み合わせる事で、enumを利用したラジオボタンを作成する時などに[enum_help]Gemの翻訳ファイルを読み込んで自…

Active Storageについて

Active Storageについて Active Storageは、モデルにカラムを持たせることなく画像のアップロードを実現できる機能 Active Storageでは、モデルオブジェクトに画像ファイルをアタッチする(アタッチ: 所属する) Active Storageでは、以下の2つのテーブルが生…

ITの用語集

ITの用語集 学習をしていて、分からない用語が多かったので、こちらに用語をまとめていきます。 ・アタッチ: 付着する、所属させる ex)Active Storageなどで、モデルオブジェクトに画像をアタッチするというような感じで使う(モデルオブジェクトに画像が属し…

Webアプリケーションに画像をアップできない原因

Webアプリケーションに画像をアップできない原因 Railsで作成したWebアプリケーションに画像をアップできずに、かなりハマってしまった事があったので、こちらにまとめます。 下記のように画像を登録してみたところプレビューするとエラーになってしまいまし…

pundit Gemの使い方

pundit Gemの使い方 [pundit]Gemは、ユーザーの権限の条件によって表示できるビューを変えるもの [pundit]Gemの使い方は、以下のようになる [Gemfile]に以下のように記述 [Gemfile] gem "pundit" ↓ [application_controller.rb]に以下を記述する [app/contro…

rbenvで新しいバージョンのrubyをインストールした時

rbenvで新しいバージョンのrubyをインストールした時の注意点 rbenvで新しいバージョンのrubyをインストールすると[rails]コマンドが使えなくなる。 これは、インストールした新しいバージョンのrubyの中に以下のようにrailsが入っていないからである higmon…

ActiveModelとFormObject

[ActiveModelとFormObject] ActiveModelは、ActiveRecordを継承しないクラスでもActiveRecordと同じメソッド(validatesなど)が使えるようになるもの(ActiveRecordのDBに関係する部分を除いたライブラリ) ActiveModelはFormObjectで使われることが多い FormOb…