1

我目前正在为我的 Rails 应用程序的管理端使用 Active Admin。我也在使用 Mongoid 连接到 MongoDB。

在这个问题上,我有球队和球员。玩家被分配到一个团队。在我的活动管理表单中,我有:

f.input :team_id, :as => :select, :collection => Team.all,:member_label => (:name), :member_value => :id

问题是团队对象的 id 是 BSON::Object(id) 而不仅仅是 id。Active Admin 不会将该 ID 保存为对象 ID。只要我能按团队拉出球员就可以了。

我正在尝试做

players = Player.where(:team_id => @team.id.to_s)

那是行不通的。

如果 teamA.id = BSON::Object("asdf1234") 和 playerA.team_id = "asdf1234"

我需要以某种方式发出 mongoid 查询以提取具有 team_id="asdf1234" 的玩家

4

2 回答 2

1

我认为 ActiveAdmin 仅适用于 ActiveRecord,如果您想使用 Mongoid,请改用: https ://github.com/elia/activeadmin-mongoid

于 2012-12-10T12:06:01.467 回答
0

在使用 activeadmin-mongoid 之前,您需要翻译所有主键/外键以使用 BSON::ObjectIds 而不是无法使用的纯数字。我为此使用了monify。 http://mongify.com/

于 2013-03-24T20:13:54.400 回答