主动管理员和Mongoid

时间:2012-05-06 23:25:57

标签: ruby-on-rails mongoid activeadmin

我目前正在使用Active Admin作为我的Rails应用的管理员端。我也使用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”的玩家

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

在使用activeadmin-mongoid之前,您需要将所有主键/外键转换为使用BSON :: ObjectIds,而不是使用无效的普通数字。 我为此使用mongify。 http://mongify.com/