kon*_*ung 1 polymorphism activerecord polymorphic-associations ruby-on-rails-3
我有一个表类别,它是一堆其他模型的多态模型.例如
型号地址有运费,账单,家庭,工作类别
型号手机有家庭,移动,工作,传真类别
model产品有医疗,设备,汽车,航空航天等类别.
我想要做的就是这样
Product.all_categories和get以及特定于此模型的所有类别的数组.
当然,对于每个有问题的模型,我都可以这样做:
Category.select("name").where("categorizable_type = ?","address")
Run Code Online (Sandbox Code Playgroud)
另外,pace_car - rails 3就绪,允许我做这样的事情:
Category.for_category_type(Address)
Run Code Online (Sandbox Code Playgroud)
但我想知道使用Active Record iteself是否有更直接/更优雅的解决方案 - 不依赖于宝石?
谢谢
我不知道ActiveRecord内置任何内容给你这个,但你可以for_category_type
在Category控制器的一行代码中设置该方法:
scope :for_category_type, lambda { |class_name| where("categorizable_type = ?", class_name) }
Run Code Online (Sandbox Code Playgroud)