2012-05-06 81 views
1

我目前使用Active Admin作爲我的Rails應用程序的管理端。我也使用Mongoid連接到MongoDB。Active Admin和Mongoid

在這個問題上,我有團隊和球員。玩家被分配到一個團隊。在我的主動管理形式,我有:

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

的問題是爲球隊對象ID是BSON ::對象(ID),而不僅僅是一個ID。 Active Admin不會將該ID保存爲對象ID。只要我能夠通過球隊拉出球員,這沒什麼問題。

我試圖做

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

並不起作用。

如果teamA.id = BSON ::對象( 「asdf1234」) 和playerA.team_id = 「asdf1234」

我需要以某種方式發出mongoid查詢拉出來球員已經TEAM_ID = 「asdf1234」

+0

它爲什麼不起作用?生成的查詢是什麼樣的(在develoment.log中)? –

回答

1

我覺得activeAdmin只有ActiveRecord的工作,如果你想使用mongoid,而不是使用:使用activeadmin-mongoid https://github.com/elia/activeadmin-mongoid

+1

它看起來像2013年3月activeadmin-mongoid仍然是越野車... –

0

之前,你需要把所有的主/外鍵使用BSON :: ObjectIds而不是普通數字,這將無法正常工作。 我爲此使用了mongify。 http://mongify.com/