Skip to content

Instantly share code, notes, and snippets.

@DCarper
Created April 8, 2011 21:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DCarper/69ded6c1f814c8276d64 to your computer and use it in GitHub Desktop.
Save DCarper/69ded6c1f814c8276d64 to your computer and use it in GitHub Desktop.
class Bracket < ActiveRecord::Base
has_one :ownership, :as => :app
has_one :owner, :through => :ownership, :source => :user
has_many :memberships, :as => :app, :conditions => "status = '#{Membership::Status::MEMBER}' OR type = 'Ownership'"
has_many :members, :through => :memberships, :source => :user
end
def index
@search = @klass.search(params[:search])
@records = @search.paginate :per_page => params[:per_page] || 20, :page => params[:page] || 1
end
- form_for @search, :html => {:id => 'bracket_search_form' }do |f|
= hidden_field_tag :format, 'admin'
= f.label :owner_email_like, 'Owner Email:'
= f.text_field :owner_email_like
class Membership < ActiveRecord::Base
belongs_to :user
belongs_to :app, :polymorphic => true
end
class Ownership < Membership
end
SELECT `brackets`.* FROM `brackets`
INNER JOIN `memberships` ON (`brackets`.`id` = `memberships`.`app_id` AND `memberships`.`app_type` = 'Bracket')
INNER JOIN `users` ON (`users`.`id` = `memberships`.`user_id`)
WHERE (users.email LIKE '%dj%') LIMIT 0, 20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment