我正在使用 Rails 3 beta 4。
我有以下型号:
class Player < ActiveRecord::Base
has_many :players_items, :dependent => :destroy
has_many :items, :through => :players_items
end
class PlayersItem < ActiveRecord::Base
belongs_to :player
belongs_to :item
end
class Item < ActiveRecord::Base
has_many :players_items, :dependent => :destroy
has_many :players, :through => :players_items
end
在players_controller
def items
@player = Player.find(params[:id])
@player_items = @player.items
end
我有以下属性
--Items Model--
Item_id:Integer
Name:String
Cost:Integer
Description:Text
--PlayersItem Model--
Item_id:Integer
Player_id:Integer
Total:Integer
Traded:Integer
我正在尝试打印出与玩家关联的所有项目,并为每个项目打印出“名称”、“成本”、“描述”、“总计”和“交易”值。
当我在 items.html.erb 中调用 @player_items 时,我只能访问与项目模型关联的属性,而不能访问与 PlayersItem 模型关联的任何属性。
我试图在同一个“调用”中访问 items 模型和 player_items 模型中的属性,类似于 SQL Join Statement 这样
SELECT * FROM players_items INNER JOIN items ON players_items.item_id=items.id
WHERE players_items.player_id = "@player"
这可能吗?