Rails関連のことを調べてみた

Rails関連のことを調べてみた

【Rails】どちらか一方のデータ(カラム)のみを入力必須にするバリデーション

Railsアプリケーションの開発中、「2つのデータ(カラム)のうち、どちらか片方のみの入力でないと保存できない」というバリデーションを付与したい場面がありました。

この条件は、「携帯電話番号か(自宅などの)固定電話番号のうち、どちらか一方だけの入力が必須」といった場面でよく見かける/実装が必要になる、かと思われます。

そこで、本記事では「2つのデータ(カラム)のうち、どちらか一方のデータのみが入力されれば保存される」=「2つのデータ両方が入力された場合は保存されない」という、二者択一入力必須条件を付与するためのRailsでの実装手順をまとめました。

Railsアプリ内の機能に二者択一入力必須条件をつける解説をおこなうにあたって、「開発環境」と「具体的な記述内容」「実装のポイント」の3つをまとめました。

## 開発環境

| Category | Version |
| :—————–: | :—–: |
| Ruby | 3.

元記事を表示

Rails7×Svelte でWebアプリ開発 part1 (環境設定、簡単な表示まで)

# はじめに

Svelte というフロントエンドフレームワークはご存じでしょうか? 
Rails7からはTurboなどHotwireからJavaScriptを描かずともモダンなSPA風なページも作れるようにもなりましたね

個人的にフロントエンドフレームワークとしてReactは好きですし、他にもVue.jsなどは有名ですね!

https://2022.stateofjs.com/ja-JP/libraries/front-end-frameworks/

そんなフロントエンドフレームワークの最近のトレンドを見てみると…
いろいろな分野で上位に来ている「Svelte」 

今回はこちらについて紹介とRailsと組み合わせてWebアプリを開発してみた記録を書かせていただきます

# Svelte についての紹介

https://svelte.jp/

– 読み方は「すべると」 みたいです
– コンパイラで仮想DOMは使用しない
– Reactなどは仮想DOMを使用している
– ビルド時にアプリの変更箇所を探す

# Svelteを使ってRailsアプリを開発してみ

元記事を表示

Dịch vụ đáo rút thẻ tín dụng Bình Thạnh

https://quatangchosuckhoe.net/rut-tien-the-tin-dung-quan-binh-thanh

Rút tiền thẻ tín dụng quận Bình Thạnh ngày nay đã trở nên phổ biến rất nhiều.Với hình thức rút tiền thẻ tín dụng quận Bình Thạnh mở rộng lại càng đem về lợi thế.

元記事を表示

【Ruby】+ と<<で配列の要素を追加した時の話

https://qiita.com/advent-calendar/2023/infratop

シリーズ2の1日目です!卒業生とメンターさんがコラボして書いています📝

まずは、これを見てください。

“`rb:sample.rb
numbers = [1,2,3]
numbers += [4]

p numbers # [1, 2, 3, 4]
“`

“`rb:another_sample.rb
numbers = [1,2,3]
numbers << [4] p numbers # [1, 2, 3, 4] ``` 一見、配列に要素を追加しただけに見えます。 しかし、[Object#freeze](https://docs.ruby-lang.org/ja/latest/method/Object/i/freeze.html)を使ってみると以下のような違いが出てきます。 ```rb:freeze_sample.rb numbers = [1,2,3] numbers.freeze # numbers << [4] # can't modify frozen Ar

元記事を表示

初めてのNext.js×Railsハンズオン

# はじめに
DMM WEBCAMP Advent Calendar 2023の1日目担当のみずたです、よろしくお願いします!🎁🎅🎄

# 今回作るもの

CRUDのRとD(ReadとDestroy)のあるアプリをNext.jsとRailsを用いてハンズオン形式で作ります。CとU(CreateとUpdate)はぜひ自分で機能追加してみてください。
※解説すると長くなる部分は解説を省略するので、不明な部分はご自身で検索等をお願いしますmm
![ezgif.com-video-to-gif.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2729380/861dff7d-e870-d54c-3cea-5465b564fc6c.gif)

ハンズオンの完成コード↓
https://github.com/mizuta61/frontend_sample
https://github.com/mizuta61/backend_sample

# 記事対象者
– フロント(Next.js)とバック(Rails)を分け

元記事を表示

【Rails7】importmap

# はじめに

元記事を表示

【2日目】フロントエンジニアがRailsを習得するまで

# Railsチュートリアルを開始

# 1周目

1周目は読むだけで流れを掴んでいく。
また、Gitやデプロイ周りなどはスルーしていく。

# 1章

https://railstutorial.jp/chapters/beginning?version=7.0#cha-beginning

以下の流れで学習を進めるらしい。
1. 始めは最小限のhelloアプリで各種セットアップを整える
1. 少しだけ機能が増えたtoyアプリを体験
1. 最後に本格的なWebアプリケーション『Sample App』を作成

# 2章

## Model-View-Controller(MVC)

railsは大まかに以下のような構成で出来ている。
– app
– model : データベースとの通信を担当
– view: 見た目の部分を担当
– controller: リクエストを処理する担当

> こんな感じ(railsチュートリアルより抜粋)

![image.png](https://qiita-image-store.s3.ap-northeas

元記事を表示

Rails6で、Webpacker::Manifest::MissingEntryErrorの解消

railsで、Gemのdeviseを使う時に、起こりがちのエラー Webpacker::Manifest::MissingEntryErrorの解消について。

よく、いろんな記事に載っている、以下のコマンドを実行してもエラーが解消されない。
rails webpacker:install
rails webpacker:compile

nodeのバージョンが20だったのですが、
14に下げることで治りました。

使用できるバージョンは以下のコマンドで確認。
n ls-remote –all

以下で、バージョンのダウングレードをする。
sudo n 14.0.0

すると、治りました。

元記事を表示

【Rails】ミドルウェアでパスを見てDBを切り替える

# 概要
つい昨日パスでアクセスするDBを変更する方法をまとめて書きました

https://qiita.com/yothio/items/84daecd154624cdd059e

結果的にcocernに共通処理として本来ControllerやModelが持つべき処理を切り出して、各々で読み込む対応をしましたが中身のないModelやControllerが大量に作成されることになりました

DBへ接続しに行くときのミドルウェアで接続先DBを変更できればめちゃいいじゃんと思いちょっと試してみました

サンプルコードはこちらです

https://github.com/yothio/rails_multi_db_test/tree/modify_database_for_middleware

## 実際にミドルウェアを書いて読み込ませる
アクセスがあったときのDBの切り替えは下記のように定義します
– /hoge/contentsでアクセスがあった場合
– defaultの設定を利用する(db名はkanban_development)
– /fuga/contentsでアクセスが

元記事を表示

大規模 Rails で役立つテクニック: Iteratorパターン編

# はじめに

先日、LTイベント「Qiita Night~Rails~」にて登壇させていただきました。

https://increments.connpass.com/event/297116/

そこで、Railsで大規模Webアプリケーションを 開発するときに知っておきたいテクニックを Qiita の Rails を例にいくつか紹介しました。発表資料はこちらです。

アーカイブ動画もあります。