タグ

ブックマーク / qiita.com/tkawa (3)

  • Favoriteの設計実装はパターンとして使える - Qiita

    RailsでのfavoriteのURL設計 http://d.hatena.ne.jp/tkawa/20110508/p1 かなり前にこういう記事を書いたのですが、最近たまたま似たものをRailsで何回か実装する機会があって、これはいろんなところで使えるんじゃないかと思ったので、その設計実装パターンを紹介してみます。 モデル 任意のツイートに任意のユーザーがお気に入りをつけられるというもの。別にツイートじゃなくても何でもOKです。 class Tweet < ActiveRecord::Base has_many :favorites end class User < ActiveRecord::Base has_many :favorites end class Favorite < ActiveRecord::Base belongs_to :tweet belongs_to :use

    Favoriteの設計実装はパターンとして使える - Qiita
  • ActiveRecordにこういう機能があったらどうでしょう?をgemにしてみた - Qiita

    class User < ActiveRecord::Base # User.admin scope :admin, -> { where(role: 'admin') } # user.admin? # => true or false def admin? self.role == 'admin' end end scope(クラスメソッド)とインスタンスメソッド両方の定義が必要ですが、内部でやっていることは質的には同じことです。 これをscope :adminだけ定義しておくと、admin?も自動的に使えるようになるっていう機能、作ったら需要ありますかねぇ? https://github.com/amatsuda/arel_ruby を使ったらできるんじゃないか、という思いつき。複雑なのは無理だろうけど…。 実装してみた (9/6 追記) arel_ruby の対応の都合で、Rai

    ActiveRecordにこういう機能があったらどうでしょう?をgemにしてみた - Qiita
  • Arel でサブクエリ - Qiita

    Rails Advent Calendar 8日目です。 Arel でサブクエリを組んでみようと思って、どうやるのかググるとこのページがヒット。いろんな例があってわかりやすいです。 Arelで色んなSQLを組み立ててみる - ryopekoの日記 サブクエリや型変換を伴うようなSQLの組み上げについては調査中です。 えー。 ということで調べたメモ。 基 Arel::Table というクラスがあって、そこからメソッドをチェーンしていきます。 Arel::Table のオブジェクトは普通にnewして作ることができます。

    Arel でサブクエリ - Qiita
  • 1