Rails関連のことを調べてみた2022年08月24日

Rails関連のことを調べてみた2022年08月24日
目次

【Ruby】Railsでリクエストのバリデーションを行うライブラリ`rails_param`

## 概要
Railsでリクエストのバリデーションを行う場合、[Rails基礎 ストロングパラメータとバリデーション](https://hpsuzucat.hatenablog.com/entry/2020/10/24/224143)の記事にある通り、ApplicationRecordの機能を使用する方法などが挙げられます。もちろん、この方法でも全然良いのですが、ApplicationRecordのモデルに通す前に、controllerでバリデーションしたい時もあるなと感じました。
何かないかなと調べてみた結果、`rails_param`というライブラリが良さげだったので、今回少し紹介します。

## 機能など
[nicolasblanco/rails_param](https://github.com/nicolasblanco/rails_param)に、ライブラリのReadmeがあります。パラメータの、型指定や、必須チェック、最小値・最大値など基本的なチェックは出来そうです。また、項目毎にエラーのメッセージもカスタムで設定できます。

## 実装サンプル
以下はAPIで、文字列の

元記事を表示

[Rails6]グループ機能を実装する

### 前提
記事を書いている私は現役のエンジニアではなくエンジニアを目指して学習中の者です。
よって、気をつけてはいますが記述内容には誤った内容が含まれている危険性があります。
その為この記事は参考程度に読んで頂き詳しい内容は公式の記述を参考にすることをおすすめします。

### この記事で実装すること
Rails6系のPFでグループ機能を実装したのでその時の手順と詰まった箇所についてまとめました。
PFは卒業アルバムページを作成できるようになっており、そのアルバムを共有するメンバーをグループで設定しています。
よって以下のような機能を持ちます。
– アルバムに招待するメンバーを選択できる
– アルバムメンバーにだけ該当するアルバムを表示する

### 使用技術
Ruby 3.1.2
Rails 6.1.6

### 実装手順
既に以下のモデルを持つアプリを作成した前提で進めていきます。
**Userモデル**
ユーザーは複数のアルバムを持つことができます。
“`ruby:user.rb
has_many :albums, dependent: :destroy
“`
**Alb

元記事を表示

Dockerを導入しよう――Rails、Compose V2編

Railsチュートリアルのサンプルアプリを例にDockerを導入したいと思います。
今までなんとなーくで済ませてきたので公式ドキュメントをがっつり読んで理解します。
Docker公式が[Rails向けのQuickstart](https://docs.docker.com/samples/rails/)を公開しているので、その他公式のドキュメントも参考にしつつ進めていきましょう。
なお、[公式のブログ](https://www.docker.com/blog/announcing-compose-v2-general-availability/)によるとDocker Compose V1は非推奨であり2023年4月までにV2への完全な移行を予定しているとのことです。従って、特に理由がなければCompose V2を使用しましょう。

## 環境
– WSL2 / Ubuntu 22.04
– Ruby 2.6.3
– Rails 6.0.4
– Docker 20.10.17
– Docker Compose version v2.6.0

[Ruby on Rails チュートリアル(

元記事を表示

Ruby on rails JqueryとBootstrapが反映されない

今日は、RailsのTutorialsでJqueryとBootstrapをインストールした後、Dropdownの反映がされなかったので、その対処法についてまとめました。

まずは、こちらのコードを実行しました。
~~~app/javascript/packs/application.js
//= require jquery
//= require bootstrap
~~~

そして、
~~~app/assets/stylesheets/custome.scss
@import “bootstrap”;
~~~
を追加しました。
しかし、これでは動かず、、

~~~app/layouts/application.html.erb