Links
Acts As View
Categories
Acts As View
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 ) ))
Vitals
| Home | http://habtm.com/articles/2006/07/23/acts_as_view |
|---|---|
| Repository | http://wota.jp/svn/rails/plugins/branches/stable/acts_as_view/ |
| License | |
| Tags |
|
| Rating | (11 votes) |
| Owner | Maiha |
| Created | 25 July 2006 |

