タグ

ruby on railsとActiveRecordに関するd4-1977のブックマーク (10)

  • ActiveModel::Attributes が最高すぎるんだよな。 - Qiita

    Ruby on Rails 5.2.0.beta2が出て久しい。 僕はRails大好きっ子なので 社内の新規事業や、社外のお手伝いしているベンチャー企業では もちろん、Rails5.2を使って開発をしている。 すでに、新しいRailsに関する記事はいくつか挙がっているが 個人的に、一番インパクトが大きかったのはActiveModel::Attributesが導入されたことである。 待望のActiveModel::Attributes ActiveModel::Attributesでなにが変わったの?というと、 いままでActiveRecordでしか使えなかった一部の機能が、ActiveModelでも使えるようになっただけである。 いや、しかし! 今までのActiveModelの最大の弱点は まさにこの ActiveModel::Attributes が無かったことだと思う。 それが、Rai

    ActiveModel::Attributes が最高すぎるんだよな。 - Qiita
  • ActiveRecord の has_many関連、件数を調べるメソッドはどれを使えばいい? - Qiita

    ActiveRecord で、has_many で定義した関連があるとき、その関連の件数を取得するのには、count, size, length の3つのメソッドがあります。さらに、0件かどうかを調べるためには、empty? や exists? といった問い合わせメソッドもあります。 これらの使い分けについて、なるべく分かりやすくなるように解説してみたいと思います。 はじめに、has_many関連とは、次のようなコード例における、company.users のことを指します。 class Company < ActiveRecord::Base has_many :users end class CompanyUsersController < ApplictaionController def index company = Company.find(params[:company_id

    ActiveRecord の has_many関連、件数を調べるメソッドはどれを使えばいい? - Qiita
  • ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita

    ActiveRecordでN+1クエリを潰すためにeager loadingを行う場合、preloadやincludesやeager_loadが役に立つ。 Preload, Eagerload, Includes and Joinsという記事にそれらの違いがよくまとめられているんだけど、includesが挙動を変える条件があまり正確に書かれていなくて自信が持てなかったし、そもそも記事が古いのでRails4.1.5のソースを読んで調べた。 せっかく調べたので、全体を通して日語でまとめてみようと思う。 User.joins(:posts).where(posts: { id: 1 }) # SELECT `users`.* FROM `users` INNER JOIN `posts` ON `posts`.`user_id` = `users`.`id` WHERE `posts`.`id

    ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い - Qiita
  • Rails ポリモーフィック関連の関連名の命名 - 130単位

    Railsにポリモーフィック関連という機能があります。 Polymorphic Associations - Active Record Associations - Ruby on Rails Guides class Picture < ActiveRecord::Base belongs_to :imageable, polymorphic: true end class Employee < ActiveRecord::Base has_many :pictures, as: :imageable end class Product < ActiveRecord::Base has_many :pictures, as: :imageable end ざっくりいうと、複数の親Modelに属するような子Modelの関連を抽象化してまとめる機能です。詳しくはRails Guidesや以

    Rails ポリモーフィック関連の関連名の命名 - 130単位
  • Rails雑感 - 愛と勇気と缶ビール

    最近、いわゆるRailsの古めのバージョンで書かれたプチレガシーな感じのアプリケーションを触っていて思ったこと。 ちなみに、この話題は多くの人にとって大分今更感のある内容なので、逆にこれを読んで「今更だなぁ、そんなのとっくに結論出てるでしょ」と思わない人はヤバい。 めんどくさいのでデータ永続化を行うためのミドルウェアはMySQLという前提で書く。 単純に言うと、いわゆるRailsアプリのMVCではMがActiveRecordかなんかを継承していて、そのまま作るとModelとtableが一対一対応になってしまう これだと、どのModelにも属さないようなビジネスロジックを置くべき場所がどこなのかよくわからない 「どのModelにも属さないようなビジネスロジックなんてないでしょ!」「どのModelにも属さないビジネスロジックがある時点で設計おかしいでしょ!」と思った人は幸福である。頭が。 ちな

    d4-1977
    d4-1977 2013/06/01
    symfonyあたりは、上手くかわしている気がする
  • Ruby on Railsの「えせMVC」の弊害

    先日のエントリーでも少し触れたが、Ruby on Railsの最大の問題点は、それが持つ「一見そのフレームワークがMVCの形をとりながら、MVCの最も大切なところを外している『えせMVC』である」点にある。MVC(Model View Controller)がなぜ必要かを根底の部分でちゃんとと意識せずにRailsアプリケーションを作ると、後々ひどい目に会うので注意が必要である。 その意味では「RailsでMVCを学ぶ」などもっての他だし、「JavaにもRailsと同じようなフレームワークを作って業務用アプリの開発を効率化しよう」などという発想もとても危険である。 ということで、今日はまずはMVCの解説から。 MVCの発想の根底には、「モジュール化と情報の隠蔽により、プログラムがスパゲッティ化するの(コード間の相互依存関係が複雑に入り込んでしまってにっちもさっちも行かない状態になること)を避

  • はてなブログ | 無料ブログを作成しよう

    週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の氏…

    はてなブログ | 無料ブログを作成しよう
  • s.h.log: RailsなしでActiveRecordだけ使って、SQLiteを読み書きする

    « PSoC - CY8C29466でUART受信割り込み | メイン | C#3.0 - 任意のウィンドウをアクティブにしてキーコードを送る » 2008年03月15日 ■ RailsなしでActiveRecordだけ使って、SQLiteを読み書きする [Programming&Electronics][Technology] Ruby on Railsが巨大すぎてよくわからないので、とりあえずRailsの中で使われているO/RマッパであるActiveRecordだけ使ってみた。 SQLを使ってオブジェクト指向で書くとき、SQL文を発行して受け取った返り値の配列をオブジェクトに突っ込み直してやらなければならないんだけど、O/R mappingを使うとSQLのデータベースとそこに接続しているプログラム上のオブジェクトが同期できる。 もちろん、プログラム側のオブジェクトで save()など

  • ActiveRecord のお勉強 - elm200 の日記(旧はてなダイアリー)

    Rails を勉強する!とこのブログを立ち上げて以来、残念ながら Rails の勉強はあまり進んでいない。その大きな理由は、Rails はかなり大きいフレームワークだからではないか。Javaで言ったら Struts + Hybernate + JUnit といった感じで、フレームワーク数個分に相当するのだ。 個人的な感想としては、中でも Model 部分に相当する O/R マッパーの ActiveRecord がよくできていると感じた。そこで、るびまの記事などを参考に ActiveRecord の学習に挑戦。 ActiveRecord::Base の rdoc が非常にわかりやすい。これは、(Ruby のルートディレクトリ)/lib/ruby/gems/1.8/doc/activerecord(バージョン)/rdoc/index.htmlから探しだせる。 ActiveRecord::Bas

    ActiveRecord のお勉強 - elm200 の日記(旧はてなダイアリー)
  • Ruby on Rails: なぜActiveRecordが必要なのか?

    Railsの勉強がしばらくストップしてしまったので、今日はビデオを見てお勉強。Rails Envyの「ActiveRecord Tutorial」は長さも25分とちょうど良いし、「ActiveRecordとはなんぞや」を具体例を交えて簡潔に教えてくれるのでとても良い勉強になる。 英語だが、冒頭の部分を乗り越えればあとはプログラミングの話なので、日人にもそれほど難しくないはず。念のため、オープニングの部分のみ、超訳しておいた。 ActiveRecordのアイデアは、いったいどこから来たのか? まずは"Active Record"の意味から (ActiveRecordではない点に注意) "Active Record"とは、デザイン・パターンの一つ。 どうやってデータベースにアクセスするか? SQLにプログラムから直接アクセスする方法もあるが...ちょっと不便 データベースのテーブルをオブジェ

  • 1