私、餡子のためなら逆立ちだってしますよ。 こじらせている。 食べたいと思ったら食べたいのである。 ここが北カリフォルニアの片田舎であろうと、私があんみつが食べたいと思えば、あんみつは今すぐ作って食べなくてはいけないものになる。食いしん坊の思考は凄まじい。 子供が観ていたアニメで、赤ちゃんが空の…
● [Rails] with_scope (ActiveRecord) ActiveRecord::Base.with_scope(method_scoping = {}) {|| ...} with_scope はテーブル操作の範囲を限定するクラスメソッドです。指定されたブロックを実行する際、xxx_by_sql 以外のテーブル操作用のクラスメソッド全てが引数で指定された制限(影響)を受けます(※1)。 以下のような場面で効果を発揮します。 共通の値を持つ複数アイテムを簡単に初期化したい。 find(params[:id]) で取得したデータが不正アクセスかどうかの検証が面倒だ。 かと言って、find 時に :conditions 指定するのも面倒だ。 さらに、それをCRUD毎に指定するなんて気が遠くなる。 ※1:レシーバと同じクラスのみ影響を受けます。 ● スコープ指定 スコープの種類
ActiveRecordは要素クラスの名前を複数形に変えてテーブル名としてくれるのですが、なんだか不思議な感じがします。 # Users テーブルへアクセス class User < ActiveRecord::Base end # People テーブルへアクセス class Person < ActiveRecord::Base end Usersはわかるのですが、なぜPersonsにならないのだろう? 正体はActiveSupportに含まれるInflector(active_support/inflector.rb)にありました。ここには英文用の各種変換が含まれ、Inflector.pluralize(word)で複数形に変換できます。 そして重要なのがactive_support/inflections.rbです。Inflector定義の最後で読み込まれているのですが、ここに実際
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く