Plugins - Acts As View

StarAdd to favorites

Allows AR models to behave as same as view tables. It’s similar to STI but more powerful cause we can specify plural columns.

Usage

Let’s consider following table that manages students with two columns “grade” and “deleted”, where “deleted” means logical deletion.

  class Member < ActiveRecord::Base; end

  class ActiveMember < Member
    acts_as_view :deleted => false
  end

  class DeletedMember < Member
    acts_as_view :deleted => true
  end

  class ActiveGrade2Member < Member
    acts_as_view :deleted => false, :grade=>2
  end

  class InheritedActiveGrade2Member < ActiveMember
    acts_as_view :grade=>2
  end

We can easily read records as same as using DB view table.

  ActiveMember.find(:all)
  # => SELECT * FROM members WHERE (( deleted = 'f' ))
  DeletedMember.find(:all)
  # => SELECT * FROM members WHERE (( deleted = 't' ))
  ActiveGrade2Member.find(:all)
  # => SELECT * FROM members WHERE (( deleted = 'f' ) AND ( grade = 2 ))
  InheritedActiveGrade2Member.find(:all)
  # => SELECT * FROM members WHERE (( ( deleted = 'f' ) ) AND ( ( grade = 2 ) ))

Maiha

http://habtm.com/articles/2006/07/23/acts_as_view

http://wota.jp/svn/rails/plugins/branches/stable/acts_as_view/

  • Currently 4.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Model

Tags

Comments

Add a comment

Search Plugins

Query syntax

Plugins by Category

Sponsors

Rails Kits: Get Code. Get Moving.

Have a comment?