- 1. 【React導入】既存のRailsアプリにReactを導入する
- 2. i18nの設定がconfig.i18nにまとまってconfig.action_viewは非推奨となった
- 3. 範囲オブジェクト
- 4. 君の名は?(配列でよく見かけるこいつ→
- 5. VBのWith…End With ステートメントをRubyで実現するには
- 6. Railsでポリモーフィック関連付けを使用した柔軟なモデル関連付けの実装」
- 7. 【Rails】You need to supply at least one validation エラーが発生したら
- 8. 【ActiveRecord】length vs size
- 9. Railsで共通パーツの一部をページごとに変更する方法
- 10. Rubyでデザインパターン (6) Prototypeパターン
- 11. 【初心者向け🔰】CodeWars【学習サイト】
- 12. 【Ruby】最近発見した便利な記述方法メモ
- 13. [Rails]あ…ありのまま、今起こった事を話すぜ!「おれはorder(created_at: :asc)と実装したと思ったら、created_at descのSQLが実行されていた」
- 14. Rubyで連分数展開のプログラムを書いてみた
- 15. マイグレーションファイルの修正、削除について
- 16. 条件をクラス化してコードの拡張性と可読性を向上する
- 17. ネストしたルーティングの_pathヘルパーについて
- 18. 【Rails】saveメソッドとcreateメソッドの使い分け
- 19. あるある、空白のエラー?!
- 20. 簡単に rails API を実装してみた
【React導入】既存のRailsアプリにReactを導入する
## はじめに
この記事では、既存のRailsアプリにReactを導入する方法についてまとめています。環境構築段階からReactを導入する方法についての記事は多いですが、途中からReactを導入する記事は少ないため、私自身かなり苦労しました。同じように苦戦している方の助けになれば幸いです。
https://ja.react.dev/
## 環境/前提
– Ruby 3.2.3
– rails 7.1.3.4
– TaiwindCSS使用
– Docker環境
– 「**esbuild**」で開発を行っていること
– バックエンド(ruby、rails)のみで環境構築していること## Webpackerについて
以前は「Webpacker」を使用するのが一般的でしたが、最近では「Import Maps」や「esbuild」、「Vite」などの新しいツールが推奨されています。Webpackerは廃止されたわけではないですが、公式では使わない方向にシフトしています。この点を押さえておくと良いでしょう。
既存のRailsアプリにReactを導入するための記事が少なく、ChatG
i18nの設定がconfig.i18nにまとまってconfig.action_viewは非推奨となった
Rails6からRails7へアップデートした時に、このような警告が出るようになりました。
“`zsh:
DEPRECATION WARNING: action_view.raise_on_missing_translations is deprecated and will be removed in Rails 7.0. Set i18n.raise_on_missing_translations instead. Note that this new setting also affects how missing translations are handled in controllers.
“`警告の内容は、i18n(国際化)の設定を`config.i18n`にまとめたため、今まで使用していた`config.action_view`の方は非推奨になるというものです。
環境設定の中でi18nの設定をしている場合は、このように変更すると警告が出ななります
。“`diff_ruby
– config.action_view.raise_on_missing_tr
範囲オブジェクト
# 範囲オブジェクトとは
範囲オブジェクトとは、「〇から〇まで」のような、値の範囲を表すオブジェクトのこと。## 作成方法
1から10までの場合以下のように表す。
“`
a = 1..10
a.include?(10)
=> true
“`
include?メソッドで確認すると、10まで範囲に含まれていることがわかる。
10を含めたくない場合は、「.」の数を3つにすることで範囲を10未満にすることができる。
“`
a = 1…10
a.include?(10)
=> false
“`# 使用例
〇以上〇以下や、〇以上〇未満を判定したい時は、不等号を使用するよりも、範囲オブジェクトを使用した方がシンプルに記述することができる。“`
def number_of_people(num)
1 <= num && num < 10 end ``` ↓ ``` def number_of_people(num) (1...10).include?(num) end ```
君の名は?(配列でよく見かけるこいつ→<<)
※ChatGPTの解説と記事で使われたていた名前です。
日本語としては正確性には欠けるかもしれませんが、ひとまずこの名前で呼びたい。
外国の記事も添付してありますが”shovel operator”って呼んでるしまあセーフ以下GPTによる解説
私が知りたかったのは1の配列の内容でした。Rubyの「ショベル演算子(shovel operator)」、つまり`<<`演算子について詳しく解説します。この演算子は、複数の用途で使用される非常に便利な演算子です。以下に、各用途について具体的な例を交えて説明します。 ### 1. 配列への要素追加 `<<`演算子は、配列の末尾に新しい要素を追加するために使用されます。これは配列を変更する破壊的な操作です。 ### 例: ```ruby array = [1, 2, 3] array << 4 puts array.inspect # => [1, 2, 3, 4]
“`この例では、配列`array`に`4`を追加しています。`<<`演算子を使うことで、新しい要素が配列の最後に追加されます。 ### 2. 文字列への連結
VBのWith…End With ステートメントをRubyで実現するには
## 環境
Ruby2.6## はじめに
Rubyを触っていて、その昔、VBでよく使っていた**With…End With ステートメント**が、Rubyでも使えないものだろうかと思いググってみました。Rubyではどうも、**instance_execメソッド**を使って実現できるらしいです。
VBのWith…End With ステートメントは個人的には、わりと重宝して使っていたにも関わらず、Rubyのinstance_execメソッドについて書かれた記事はあまり散見されないようです。
instance_execメソッドの便利さはあまり認知されていないのだろうか。そこで、instance_execメソッドの便利さについて書いてみました。
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/language-reference/statements/with-end-with-statement
## メリット
instance_execメソッドを使うと、オブジェクト参照を複数行に渡って記述したいときに、反
Railsでポリモーフィック関連付けを使用した柔軟なモデル関連付けの実装」
## はじめに
アプリ制作の過程で、ポリモーフィック関連を用いた実装を行いました。ここではその実装過程で得られた気づきをまとめます。ポリモーフィック関連について実際の例を交えながらなるべく分かりやすくまとめたいと思います。## なぜポリモーフィック関連付けが便利なのか
例えば、ブログ記事にコメントを付ける機能を作ったとします。その後、イベントページにもコメントを付けたくなったとします。通常であれば、新しくコードを書き足さないといけないと思います。しかし、ポリモーフィック関連付けを使うと、既存のコードをほとんど変更せずに、イベントにもコメントを付けられるようになります。
それでは、実際にコードを見ていきましょう。## モデルの設定
まず、モデルの設定から。`Article`、`Event`、`Comment`の3つのモデルを作ります。
“`ruby
class Article < ApplicationRecord has_many :comments, as: :commentable end class Event < ApplicationRecord has
【Rails】You need to supply at least one validation エラーが発生したら
## 概要
Rails アプリでフォームデータを送信するとき、以下のようなエラーが発生しました。
“`
You need to supply at least one validation
“`## 原因
このエラーは以下のように `validates` メソッドにバリデーションの内容が指定されないと発生します。
“`rb
class Profile < ApplicationRecord validates :user_id end ``` ## 対処法 このエラーを解決するためには `validates` メソッドに適切なバリデーションを指定します。例えば `user_id` が一意であることを検証するために `uniqueness: true` オプションを指定できます。以下のようにすると、エラーは解消されます。 ```rb class Profile < ApplicationRecord validates :user_id, uniqueness: true end ``` ## まとめ `validates` メソッドを使用する際は、バ
【ActiveRecord】length vs size
# 目的
**ActiveRecord**の`length`と`size`について、しっかり理解した上で適切に使いこなせるようにする。
#### 補足
本記事は、レコード数の取得においてSQL文の発行数を抑えることの出来る`length`と`size`にフォーカスしています。
※`count`メソッドは、必ずSQL文を発行するため割愛(比較用で一部記載あり)# ActiveRecordのlengthとsizeの違い
## `#size`
https://github.com/rails/rails/blob/main/activerecord/lib/active_record/relation.rb#L345-L352
“`rb:rails/activerecord/lib/active_record/relation.rb
# Returns size of the records.
def size
if loaded?
records.length
else
count(:all)
end
end
“`
:::note
– Loadされて
Railsで共通パーツの一部をページごとに変更する方法
## はじめに
アプリ制作の過程で、ヘッダーの一部を特定のページで戻るボタンに変更するという実装を行いました。
ここではその実装過程で得られた気づきをまとめます。## 本記事の内容
Railsで共通パーツとして使っているものの一部分を特定のページで変更する方法。## ヘッダーのView
“`ruby:_header.html.erbOTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた