並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 79 件 / 79件

新着順 人気順

ActiveRecordの検索結果41 - 79 件 / 79件

  • Rails 7 API: ActiveRecord::FixtureSet(翻訳)|TechRacho by BPS株式会社

    概要 MITライセンスに基づいて翻訳・公開いたします。 英語API: ActiveRecord::FixtureSet バージョン: Rails 7.0.0 サイト: api.rubyonrails.org ライセンス: MIT-LICENSE 2019/07/11: 初版公開 2021/12/17: 5.2.3->7.0.0に更新 以下も参考にどうぞ。 週刊Railsウォッチ(20190708-1/2前編)ActiveRecord::FixtureSetがめちゃ強くなってた、MacだとRubyが遅い理由、Puma 4登場ほか 銀座Rails#13の発表スライド↓ Rails API: ActiveRecord::FixtureSet(翻訳) fixtureとは、テストの対象としたいデータ(つまりサンプルデータ)を組み立てる手法のひとつです。 fixtureはYAMLファイルに保存されます

      Rails 7 API: ActiveRecord::FixtureSet(翻訳)|TechRacho by BPS株式会社
    • ActiveRecordパターンの呪縛を学びほぐして挑むクリーンアーキテクチャへの入り口 | ドクセル

      スライド概要 ActiveRecordパターンに引きづられて設計が歪みがちになるのを学びほぐすことでクリーンアーキテクチャでの開発の良いスタートラインに立てるのではないでしょうか?

        ActiveRecordパターンの呪縛を学びほぐして挑むクリーンアーキテクチャへの入り口 | ドクセル
      • RailsのActiveRecord::AttributeMethods::Dirtyを使ってみた - stmn tech blog

        はじめに 背景 ActiveRecord::AttributeMethods::Dirtyとは メソッド一覧 メソッド名の変遷 活用に向けた検証 検証に使用したモデル Dirtyの活用例 実現したかったこと/実装例 Dirtyの活用したサンプルコード おわりに 参考 はじめに はじめまして、スタメンでエンジニアをしているショウゴです。普段は、バックエンドグループでRuby on Railsを用いてバックエンドの開発を主に担当しています。 今回の記事では、ActiveRecordのattributeの変更状況を確認できるRailsのActiveRecord::AttributeMethods::Dirtyモジュールの使い方の検証結果と活用例を紹介します。 背景 今回、特定のカラムの値を変化させて、ステータスの変更・管理を行っているモデルに対して新たなバリデーションを実装する作業の中で、特定の

          RailsのActiveRecord::AttributeMethods::Dirtyを使ってみた - stmn tech blog
        • ActiveRecord::Bitemporalとの歩み方 - SmartHR Tech Blog

          こんにちは!SmartHR基本機能でプロダクトエンジニアをしているdooorです。 SmartHRでは履歴を表すデータモデルにBitemporal Data Modelを採用していて、Active Recordで扱うために ActiveRecord::Bitemporal を開発しています。 BiTemporal Data Modelとは、データを「有効時間(データが現実世界で有効である期間)」と「システム時間(データがデータベースに格納された時間)」の2つの時間軸で管理する方法です。変遷するデータの履歴を残すことができ、ある時点のデータを一覧することや過去の情報を更新することが可能になります。BiTemporal Data Modelが気になる方は 操作履歴/時点指定アクセスの実現 - BiTemporal Data Model の実践 をご一読ください。 ActiveRecord::B

            ActiveRecord::Bitemporalとの歩み方 - SmartHR Tech Blog
          • activerecord-importを利用して無効なデータを無理やりINSERTする - かみぽわーる

            activerecord-importと:on_duplicate_key_ignoreオプションを組み合わせるとカラム定義の範囲外の値であっても無理やりINSERTすることができます。 # frozen_string_literal: true require "bundler/inline" gemfile(true) do source "https://rubygems.org" git_source(:github) { |repo| "https://github.com/#{repo}.git" } gem "activerecord", "6.1.0" gem "activerecord-import" gem "mysql2" end require "active_record" require "logger" ActiveRecord::Base.establish

              activerecord-importを利用して無効なデータを無理やりINSERTする - かみぽわーる
            • Goodbye ActiveRecord!

              At Aircall, we are dealing with a distributed Rails Legacy monolith. We are now splitting it progressively into lightweight Ruby-Sinatra microservices, and in order not to reproduce errors from the past, we started to implement new Architecture philosophies like Clean Architecture and Domain Driven Design. ROM was a really good match to us, as it fits really well in those philosophies. In order to

                Goodbye ActiveRecord!
              • activerecord-importのimportを速くする

                Railsで大量データのインポート処理が必要な場合、activerecord-importを使う事が多いかと思います。このgemは複数のINSERTを1つのSQLにまとめてくれる(multi-row-insertを行う)ので、1データ毎に1つのINSERTを行うより高速に動作します。 activerecord-importのimportメソッドはデフォルトのままでも十分に早いのですが、それでも速度的に厳しい、という場合もあるかと思います。activerecord-importのimportメソッドは引数により速度が変化しますので、そのような場合引数の見直しを行ってみても良いかもしれません。 ではどのようにすればimportが高速に動作するのでしょうか? importにmodelではなくcolumn, valueを指定するimportの引数にはmodel objectの配列、または colu

                  activerecord-importのimportを速くする
                • ActiveRecord の or は merge とセットで使え - Qiita

                  Model.where(A) .merge(Model.where(B).or(Model.where(C)).or(Model.where(D))) .merge(Model.where(E).or(Model.where(F))) merge() を使うと、 or() の部分をグルーピングすることができます。 SQLの条件組み立ては and で条件を絞り込んでいくのが基本ですから、 or の部分はまとめて and でつないでいきましょう。 or() はどこでグルーピングがどこに入るのか予測不可能なことが多いですが、merge() と併用するとグルーピングを明示的に制御できるようになります。

                    ActiveRecord の or は merge とセットで使え - Qiita
                  • ActiveRecordのvalidatesで表示されるエラーメッセージのフォーマットを変更する - Qiita

                    何に困っているか ActiveRecordのvalidatesでエラーになった時に表示されるメッセージを%{attribute}%{message}ではないフォーマットにしたい。 例えば、User.nameのvalidatesエラーでこの名前は1文字以上入力してください。みたいなエラーメッセージを表示したい。 さらに、そのフォーマットを適用するスコープを限定したい。 validatesのエラーメッセージを変更するには 0. サンプルアプリの概要 今回の環境はruby:2.5.2、rails:6.0.0です。 Userモデルを持つアプリを用意します。

                      ActiveRecordのvalidatesで表示されるエラーメッセージのフォーマットを変更する - Qiita
                    • ActiveRecordでは present? の代わりに exists? を使おう - Qiita

                      小ネタです。 条件に該当するレコードが存在するかを確認したい ActiveRecordで条件に存在するレコードが存在するかを確認するのに、つい、 と書いてしまいがちですが、これはパフォーマンス上の問題が生じる可能性があります。 .present? は ActiveSupport によってモンキーパッチされたメソッドです。 Mode.where(conditions) のような ActiveRecord_Relation クラスのオブジェクトに .present? を適用するとどうなるか? すると条件に該当するレコードを全てDBから取得して、(Rails上のモデルの)配列として評価することになります。 配列に要素が存在すれば true、 しなければ false ですね。 なぜこれはダメなのか 一見すると問題なさそうですし、実際結果自体は正しいのですが、条件に該当するレコードが1つでも存在する

                        ActiveRecordでは present? の代わりに exists? を使おう - Qiita
                      • ActiveRecord各メソッドのクエリ実行タイミングについて - Qiita

                        概要 ActiveRecordの各検索メソッドがどのタイミングで実際にリクエストを投げるのか不明だったので調べてみた。 まず前提として、メソッドは大きく以下の二種類に分けられる。 DBへのリクエストを発行するメソッド DBへのリクエストは発行せず、ActiveRecord::Relationのオブジェクトを返すメソッド 結論 まずはじめに結論から書くと、以下の違いが、リクエストの有無を決めている。 ActiveRecord::FinderMethodsに実装されているメソッド find, find_by, take, first, last, exists? すぐにクエリを発行し、データベースにアクセスし、レコード(Modelのインスタンス or インスタンスの配列)を返す。 それ以外の検索メソッド(where, limit, など) ActiveRecord::Relationのオブジェ

                          ActiveRecord各メソッドのクエリ実行タイミングについて - Qiita
                        • Rails: ActiveRecordのupdate_countersで競合状態を防ぐ(翻訳)|TechRacho by BPS株式会社

                          前文 競合状態は、バグの中で最も厄介な部類と言ってよいでしょう。ActiveRecord のupdate_counterメソッドは、データベース内で値の増減の競合状態を回避するときに便利な方法を提供します。本記事ではJonathan Miles氏が同メソッドの利用法、実装方法、そして競合状態を避ける他のアプローチについて解説します。 Railsは大規模なフレームワークであり、特定の状況に対応できる便利ツールが多数組み込まれています。本シリーズでは、Railsの大規模なコードベースに隠れている、あまり知られていないツールを紹介します。 今回紹介するのはActiveRecordのupdate_countersメソッドです。また、マルチスレッドプログラムにありがちな「競合状態」の罠と、このメソッドで競合状態を防ぐ方法についても見ていきます。 🔗 スレッドについて プログラミングでコードを並行し

                            Rails: ActiveRecordのupdate_countersで競合状態を防ぐ(翻訳)|TechRacho by BPS株式会社
                          • Railsのnokogiriでスクレイピングしてactiverecord-importで配列をDBに保存する - Qiita

                            スクレイピングしてDBに保存したい人向けです 外部からデータ取ってくることに憧れてたので、初めてスクレイピングやった忘備録です。 初めてスクレイピングしたのでおてやわらかにお願いします笑 何をスクレイピングしたの? paypayのキャンペーンwebページから店舗名を取得しました! スクレイピング前のDB スクレイピング後のDB 手順 nokogiriでweb上のテキストを配列形式で取得する ↑の配列をactiverecord-importで一度のクエリで保存する 環境 sqlite3 ruby 2.6.3 Rails 6.0.2.1

                              Railsのnokogiriでスクレイピングしてactiverecord-importで配列をDBに保存する - Qiita
                            • ActiveRecordとDataMapperってなに?

                              ActiveRecord 概要 An object that wraps a row in a database table or view, encapsulates the database access, and adds domain logic on that data. 引用: https://www.martinfowler.com/eaaCatalog/activeRecord.html DeepL訳: データベースのテーブルやビューの行をラップし、データベースへのアクセスをカプセル化し、そのデータにドメインロジックを追加するオブジェクトです。 ドメインオブジェクトにデータアクセスロジックを配置するイメージ。 ロジックとデータアクセスが密結合になってしまうためテストがしにくくなる(DB接続が必要になる) メリット 単純なCRUDのWebアプリ開発には向いているし、使いやすい

                                ActiveRecordとDataMapperってなに?
                              • [ActiveRecord] トランザクションとロック|Railsの練習帳

                                  [ActiveRecord] トランザクションとロック|Railsの練習帳
                                • UUID Primary Key in Rails 6 with PostgreSQL and ActiveRecord

                                  UUID Primary Key in Rails 6 with PostgreSQL and Active Record Updated Mar 6, 2021 8 minute read UUID also known as GUID is an alternative primary key type for SQL databases. It offers some non-obvious advantages compared to standard integer-based keys. Rails 6 release fresh out of beta introduces a new feature in ActiveRecord that makes working with UUID primary keys more straightforward. In this

                                    UUID Primary Key in Rails 6 with PostgreSQL and ActiveRecord
                                  • RailsのActiveRecordのAutosaveAssociationのコードリーディング - Rails Webook

                                    RailsのActiveRecordのautosave機能についてソースコードリーディングをしました。 ドキュメント ActiveRecord::AutosaveAssociation ソースコード ActiveRecord::NestedAttributes - Tag 5.2.1 (18/8/8) Autosaveは、親モデルが保存された時に、関連するモデルも一緒に作成/更新する機能を提供します。 また、関連するモデルでmark_for_destricutionメソッドを実行し、削除フラグを立てることで、親モデルを保存時に関連レコードを削除することもできます。 これらのレコードの操作はトランザクション内で実行されるのでDBでデータ不整合が発生しません。 1. Autosave機能のサンプルコード 2. Autosaveでのメソッドやコールバックを定義している箇所 3. Autosave

                                      RailsのActiveRecordのAutosaveAssociationのコードリーディング - Rails Webook
                                    • Fixing a footgun in ActiveRecord::Core#inspect

                                      The inspect method on Active Record models returns a string including the model’s class and a list of all its attributes and their values. In Rails 7.2, you can configure which attributes are included in the output of inspect. In this post, I’ll discuss the performance issue that led me to implement this feature. I’ll also talk about how this feature can be used to improve developer experience. to

                                        Fixing a footgun in ActiveRecord::Core#inspect
                                      • Different Ways to Set Attributes in ActiveRecord (Rails 7)

                                        Rails 7 has a rich API that allows you to update your ActiveRecord objects in several ways. Some methods have slightly different behavior which can sometimes result in unexpected consequences, so it’s important to understand their differences. Note: This cheat sheet is for Rails 7. See cheat sheets for other versions here: Rails 3 (external link) Rails 4 (external link) Rails 5 Rails 6 Here’s a ch

                                        • Rails: JOINしたActiveRecord::Relationをlimitして件数が合わない場合の対処法|TechRacho by BPS株式会社

                                          ルーム1〜10が順番に取得できると嬉しいですね。 失敗例 以下のようにして取得しようとすると、ルーム1〜8までしか取れません。 class ChatRoomsController < ApplicationController def index @chat_rooms = ChatRoom.includes(:chat_messages) .order('chat_messages.created_at DESC') .limit(10) end end 実際に発行されているSQLを確認してみます。 SQL (1.1ms) SELECT DISTINCT chat_messages.created_at AS alias_0, `chat_rooms`.`id` FROM `chat_rooms` LEFT OUTER JOIN `chat_messages` ON `chat_mess

                                            Rails: JOINしたActiveRecord::Relationをlimitして件数が合わない場合の対処法|TechRacho by BPS株式会社
                                          • ActiveRecord Scoped Association - ohbarye

                                            Author.eager_load(:published_articles).where(article: { published: true })

                                              ActiveRecord Scoped Association - ohbarye
                                            • ActiveRecord::Rollback

                                              ActiveRecord::Base.transaction uses this exception to distinguish a deliberate rollback from other exceptional situations. Normally, raising an exception will cause the .transaction method to rollback the database transaction and pass on the exception. But if you raise an ActiveRecord::Rollback exception, then the database transaction will be rolled back, without passing on the exception. For exam

                                              • FormクラスでラップしたActiveRecordのエラー内容をマージする

                                                Formオブジェクトを使って、ActiveRecord経由でDBにレコードを保存する場合、エラー内容を適切にマージする必要があるよーということの備忘録。 例えば、以下のようなActiveRecordのUserクラスとFormオブジェクトであるUserRegisterFormクラスがあるとする。 class UserRegisterForm include ::ActiveModel::Model attr_accessor :email def save return false if invalid? # snip... user = User.new(email: email) return false if user.invalid? # snip... end end class User < ActiveRecord::Base # snip... validates :emai

                                                • RailsのActiveRecordのcount、length、sizeメソッドの違い - Qiita

                                                  はじめに いよいよダットのターンです!たまにはRailsについて書かずHTMLかJavascriptばかりの記事を投稿したので今回はRailsのメソッドについて説明させていただきます。 開発者としてはこれらのメソッドを触ったことがあるはずですね。風通はこの三つの中に勝手に選んでどっちでも使って無事で計算されるので大丈夫と思いましたが、実はそうでしょうか?実際は場合によって返った結果も変わって実行する時間も異なる可能性があります。さっそくですが、始めましょう! 概要 この記事はこれらのメソッドがRubyに使われる時を気にしないでActiveRecordに使用する時だけ中心してください。結局、アソシエーションの中に幾つのレコードがあるか教えてくれますが、内部の処理がちょっと違います。 例えば、このモーデルとリレーションがあります。

                                                    RailsのActiveRecordのcount、length、sizeメソッドの違い - Qiita
                                                  • GitHub - kirillshevch/query_track: Find time-consuming database queries for ActiveRecord-based Rails Apps

                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                      GitHub - kirillshevch/query_track: Find time-consuming database queries for ActiveRecord-based Rails Apps
                                                    • (初心者向け)activerecord-importの使い方 - Qiita

                                                      使い方はとても簡単で、登録するレコード(model)のインスタンスをすべて配列にいれて、クラスメソッドのimportにそれを渡すだけです。 初学者的には簡単ではなかったので、恥を忍んで同じような方の救いになればと思い書いてます。 なので、もっといいやり方などあったらぜひ教えていただけると幸いです。 テーブルを集計して別のテーブルにimportするには 例えば昨月の本のレビューと売り上げを集計してテーブルに保存したい場合。 (とあるテーブルのデータを別のテーブルにコピーしたい場合) book_sales = Book.joins(:reviews, :sales).where(some_conditions).select(some_columns).group("books.id") SaleLastMonth.import book_sales とすると、ArgumentError: I

                                                        (初心者向け)activerecord-importの使い方 - Qiita
                                                      • ActiveRecord::QueryMethodsのselectメソッドについて深掘りしてみた|TechRacho by BPS株式会社

                                                        こんにちは。BPSに入社してちょうど1年になりましたshin1rokです。 入社時に目標にしていた「TechRachoに技術系の記事を投稿する」を果たすべく、ActiveRecord::QueryMethodsのselectメソッドを深掘りしてみます。 API: ActiveRecord::QueryMethods - select 環境 Ruby: 2.6.3 Rails: 5.2.3 ローカルにRailsを読むためだけの小さいアプリを作り、RubyMineのコードジャンプとブレークポイントを駆使して探索しました。 そもそも(および深掘りの視点) selectメソッドはこのようにModelを拡張する形でAttribute(?)を追加することができます。 ※アソシエーションはUser has_many posts irb(main):014:0> user = User.joins(:po

                                                          ActiveRecord::QueryMethodsのselectメソッドについて深掘りしてみた|TechRacho by BPS株式会社
                                                        • GitHub - planetscale/fast_page: Blazing fast pagination for ActiveRecord with deferred joins ⚡️

                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                            GitHub - planetscale/fast_page: Blazing fast pagination for ActiveRecord with deferred joins ⚡️
                                                          • [Rails]ActiveRecordで、whereで指定した順番通りに結果をソートしたい時どうするか

                                                            ちょっと調べたのでメモ。試した際のActiveRecordのバージョンは4.2.3で、DBはPostgreSQLの9.4。 例えば、"過去閲覧したページのID"、のように順序に意味のあるID列があったとする。 そのIDの順にデータを取得したいのだが、そのままID列をActiveRecordに渡しても上手くいかない。 ids = %w(12 6 10) Page.where(id: ids).pluck(:id) # => [6, 10, 12] ActiveRecordではなくDBの問題なのだが、どうにかwhere句のINの並び順で結果をソートしたい。 SQLで頑張る(PostgreSQL)色々書き方はあると思うのだが、PostgreSQL限定であれば、intarrayモジュールのidx関数を使うのが一番楽そう。 idx関数を使えば指定した配列から該当のデータの要素番号を取得出来るので、そ

                                                              [Rails]ActiveRecordで、whereで指定した順番通りに結果をソートしたい時どうするか
                                                            • 誰もがはまる Rails ActiveRecord コールバックの罠 | Basicinc Enjoy Hacking!

                                                              こんにちは Rails と Ruby が好きな @zaru です。今回は Rails の代表的な機能の一つ ActiveRecord コールバックの罠について記事を書きます。誰もが…というより僕自身がはまった罠を中心に紹介します。この記事を読むことで ActiveRecord コールバックをゴリゴリに使って罠にはまる人を一人でも少なくなれば嬉しいです。 最初に 3 つの問題を出します。この問題がスッと答えられる人は、ほぼ完璧に ActiveRecord コールバックについて理解をしているので、この記事を読む必要はありませんし、ActiveRecord コールバックを存分に活用したコードを書いても問題ないです。 ちなみに僕はぜんぜん自信がない&正解できなかったので、ActiveRecord コールバックをなるべく使わないスタイルにしていこうと強く思いました。 ActiveRecord 理解度

                                                                誰もがはまる Rails ActiveRecord コールバックの罠 | Basicinc Enjoy Hacking!
                                                              • ActiveRecord でのデフォルト値設定 - Qiita

                                                                Rails ActiveRecord model で各フィールドのデフォルト値を設定するには、主に以下の3つの方法があります。 方法1: Database の column の default 値を使う Database の table schema で column の default 値を指定します。 class CreateColors < ActiveRecord::Migration[5.0] def change create_table :colors do |t| t.string :name, default: 'black' t.integer :red, unsigned: true, limit: 1, null: false, default: 0 t.integer :green, unsigned: true, limit: 1, null: false, d

                                                                  ActiveRecord でのデフォルト値設定 - Qiita
                                                                • Rails 7.1: ActiveRecord::Baseにnormalizesが追加された(翻訳)|TechRacho by BPS株式会社

                                                                  2023.06.06 Rails 7.1: ActiveRecord::Baseにnormalizesが追加された(翻訳) Rails 7.1: ActiveRecord::Baseにnormalizesが追加された(翻訳) Rails 7.1で、Active Recordの属性値の正規化(normalization)を宣言するメソッドが新たに追加されました。これは、ユーザー入力のサニタイズ、書式の統一、外部由来のデータのクリーンアップで特に有用です。 Rails 7.1より前は、以下のようにbefore_saveコールバックで属性を正規化できます。 model User < ApplicationRecord before_save :downcase_email, if :email_present? private def email_present? email.present?

                                                                    Rails 7.1: ActiveRecord::Baseにnormalizesが追加された(翻訳)|TechRacho by BPS株式会社
                                                                  • GitHub - Envek/after_commit_everywhere: Use ActiveRecord transactional callbacks outside of models, literally everywhere in your application.

                                                                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                      GitHub - Envek/after_commit_everywhere: Use ActiveRecord transactional callbacks outside of models, literally everywhere in your application.
                                                                    • activerecord-importでon_duplicate_key_updateを忘れたときの挙動 - Qiita

                                                                      2019/07/11 追記 この挙動ですが、v1.0.0以降のversionでは修正されているようです。 記事作成時に利用していたversionは0.27.0でした。 @kikunantoka さん ご指摘ありがとうございました! RailsでRDBのレコードを一括処理したいときにactiverecord-importを使っていたのですが、 うまくデータ更新されてないものが見つかったので調査した結果の覚書です。 (RDBMSがMySQLの場合の話です) bulk_insertする際、新規レコードは作成、そうでないものは更新してくれるオプション。 activerecord-importでも対応しています。 https://github.com/zdennis/activerecord-import/wiki/On-Duplicate-Key-Update which allows you t

                                                                        activerecord-importでon_duplicate_key_updateを忘れたときの挙動 - Qiita
                                                                      • Rails の ActiveRecord で 孫モデルやひ孫モデルに join や include する方法(深いネストのincludes)

                                                                        AAAs.includes(:BBBs) # 子 AAAs.includes(BBBs: :CCCs) # 孫 AAAs.includes(:GGGs, BBBs: [:CCCs, :DDDs]) # 子と孫たち AAAs.joins(BBBs: [{CCCs: :FFFs}, :DDDs]) # ひ孫もあるとこう 参考 Ruby on Rails - 用 Include 和 Join 避免 N+1 Query | Leon's Blogging https://mgleon08.github.io/blog/2016/01/10/ruby-on-rails-include-join-avoid-n-1-query/ Rails ActiveRecord/SQL 小技集 | Qiita https://qiita.com/tomomomo1217/items/1ccd21bfb977307

                                                                          Rails の ActiveRecord で 孫モデルやひ孫モデルに join や include する方法(深いネストのincludes)
                                                                        • [ActiveRecord] 双方向関連付けとinverse_of

                                                                          [ActiveRecord] 双方向関連付けとinverse_of Railsは規約通りの名前の関連があるとき、自動で双方向関連付けがなされています。 双方向関連付け機能 双方向関連付けについて、次のような関連を持っているコードで説明します。 class User < ApplicationRecord has_many :books end class Book < ApplicationRecord belongs_to :user end user = User.first book = user.books.first user.object_id #=> 30200 book.user.object_id #=> 30200 # userオブジェクトとbookオブジェクトの関連先のuserオブジェクトは同じ user.name #=> "igaiga" book.user.nam

                                                                            [ActiveRecord] 双方向関連付けとinverse_of
                                                                          • Sharing Query Logic Within ActiveRecord Models

                                                                            I was recently working on an application in which we had a class method / scope used to return a specific set of users. This was fine and good until we found ourselves needing to capture the same logic at the instance level. Ideally, I was hoping to be able to avoid duplicating the logic, and simultaneously keep things efficient. Users in our application can be configured to receive alerts. We hav

                                                                              Sharing Query Logic Within ActiveRecord Models
                                                                            • Rails 6.1 adds delegated_type to ActiveRecord

                                                                              Rails 6.1 adds delegated_type to ActiveRecord which makes it easier for models to share responsibilities. Before Rails 6.1 Let's say we are building software to manage the inventory of an automobile company. It produces 2 types of vehicles, Car and Motorcycle. Both have name and mileage attributes. Let's look into at least 2 different solutions to design this system. <br/> Single Table Inheritance

                                                                                Rails 6.1 adds delegated_type to ActiveRecord
                                                                              • Rails API: ActiveRecord::Migration(翻訳)|TechRacho by BPS株式会社

                                                                                概要 MITライセンスに基づいて翻訳・公開いたします。 英語APIドキュメント: ActiveRecord::Migration Railsバージョン: 6.0.0 サイト: Ruby on Rails API ライセンス: rails/MIT-LICENSE at master · rails/rails Rails API: ActiveRecord::Migration(翻訳) 複数の物理データベースで使われるスキーマの成長をマイグレーションで管理できます。マイグレーションは、新しい機能を使うためにローカルデータベースにフィールドを追加するときによく起こる問題を解決する方法のひとつですが、変更点を他の開発者やproductionサーバーにプッシュする方法までは関知しません。マイグレーションを用いることで、自己完結するクラスの変換方法を(Gitなどの)バージョン管理システムにチェックイ

                                                                                  Rails API: ActiveRecord::Migration(翻訳)|TechRacho by BPS株式会社