pet*_*hka 3 ruby-on-rails associations has-many finder-sql
我有盒子和球.球在盒子里.球可以是红色和绿色.
class Box < ActiveRecord::Base
has_many :balls
end
class Ball < ActiveRecord::Base
belongs_to :box
scope :green, where(:color => "green")
end
Run Code Online (Sandbox Code Playgroud)
我想只用绿球设置has_many.我知道finder_sql方法存在,但我不知道如何通过范围设置.
我希望以下示例相同:
@orders = @box.balls
@orders = @box.balls.green
Run Code Online (Sandbox Code Playgroud)
你可以随时使用:
has_many :balls, :conditions => { :color => "green" }
Run Code Online (Sandbox Code Playgroud)
它适用于Rails3,但我不确定是否由于某些ActiveRecord :: Relation等效而不推荐使用此语法.在与Rails3相关的官方文档中,这种语法仍然可用,所以我猜这就像在2.3.x分支中一样.