1

現在、Rails アプリの管理側に Active Admin を使用しています。また、MongoDB への接続に Mongoid を使用しています。

この号では、チームと選手がいます。プレイヤーはチームに割り当てられます。私のアクティブな管理フォームには、次のものがあります。

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

問題は、チーム オブジェクトの ID が単なる ID ではなく BSON::Object(id) であることです。Active Admin は ID をオブジェクト ID として保存しません。チームごとに選手を引き出せればこれでいい。

私はやろうとしています

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

そしてそれはうまくいきません。

teamA.id = BSON::Object("asdf1234") かつ playerA.team_id = "asdf1234" の場合

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 に答える