According to the law of demeter, a model should only talk to its immediate association, don't talk to the association's association and association's property, it is a case of loose coupling. Bad Smell class Invoice < ActiveRecord::Base belongs_to :user end <%= @invoice.user.name %> <%= @invoice.user.address %> <%= @invoice.user.cellphone %> In this example, invoice model calls the association(use
2013年12月2日更新: 参照されることが多いので Rails 4 の情報を訳注として追記しました。また、Rails 4 に関する情報は、 WEB+DB PRESS Vol.73 が非常に参考になるので、一読をおすすめします。 この文章は Mitch Crowe 氏のブログより 2012年4月14日の記事を翻訳したものです。 The 10 Most Underused ActiveRecord::Relation Methods http://blog.mitchcrowe.com/blog/2012/04/14/10-most-underused-activerecord-relation-methods/ 昨日は ActiveRecord::Relation のコードに膝まで浸かって、使われているのをこれまで全然見たことがない面白いナゲットを思い出させてくれた。この記事で、十分に活用
それでは、マイグレーションファイルの内容を見ていきましょう。 先ほどのUserクラスの例では、rails gコマンドで次のようなマイグレーションファイルが生成されます。このマイグレーションファイルは、「usersというテーブルを作成する」というスキーマ変更に対応するとともに、「20110403005910」というスキーマバージョンを表しています。なお、このバージョンの数字は、マイグレーションファイルをコマンドで生成する際に日時をもとに自動で付与されます。 class CreateUsers < ActiveRecord::Migration def self.up create_table :users do |t| t.string :name t.string :email t.date :birthday t.integer :number t.timestamps end end
「ActiveRecord」の基本とデータの参照:Ruby on Rails3で学ぶWeb開発のキホン(3)(1/2 ページ) 前回まではRuby on Railsの全体像について見てきました。今回からは、Railsを構成する各部品について詳しく解説していきます。まずは、Railsのモデル層の標準的なライブラリである「ActiveRecord」に焦点を当てます。とはいえ、ActiveRecordの提供する機能は膨大なので、数回に分けて解説することにします。今回は、ActiveRecordの基本的な考え方や、使い始めるために必要なマイグレーションの知識、参照系の操作の仕方をご紹介します。 ActiveRecordとは ActiveRecordはRuby on Railsを構成する最も重要なライブラリの1つで、Railsのモデル層に相当し、O/Rマッピングを担当します 。このライブラリの名前は
データベース操作がどういう風に実現されてるのか、特に SQL文はどうなってるのかを中心に追いかけてみる。 基本的にモデルの新規レコードの作製は ActiveRecord::Baseクラスを継承したモデルのクラスの create()メソッド(パブリック)を各種 attribute値を引数にして呼ぶ。 new して、saveするとか他の流れもあるけど。 ActiveRecord::Baseクラスの active_record/base.rbファイルをみる。 567行目から def create(attributes = nil) if attributes.is_a?(Array) attributes.collect { |attr| create(attr) } else object = new(attributes) object.save object end end createメ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く