2011-01-29 40 views
2

我有這樣一個範圍:合併範圍與CURRENT_USER

class InventoryItem < ActiveRecord::Base 
    belongs_to :inventory 
    belongs_to :game_item 

    # define custom scopes to get equipped inventory items for user 
    scope :equipped, where(:is_equipped => 1) 

    scope :item, lambda { |item_type| 
    joins(:game_item). 
    includes(:game_item). 
    where("game_items.item_type = ?", item_type). 
    limit(1) 
    } 

我可以得到CURRENT_USER模型,還包括一個命令裝備項目? (?有可能包括)

回答

0

假設您的庫存屬於一個用戶,你可以使用這個包括CURRENT_USER型號:

 
scope :equipped, where(:is_equipped => 1).includes(:inventory => :user) 

這告訴Rails包括庫存模型,併爲相關用戶模型庫存。如果你想要做同樣的項目範圍,你可以這樣做:

 
scope :item, lambda { |item_type| 
    includes(:game_item). 
    includes(:inventory => :user). 
    where("game_items.item_type = ?", item_type). 
    limit(1) }