0

私はユーザー管理システムとしてdeviseを使用しており、より高度な権限設定にCanCanを使用する予定です。複雑なモンゴイドレールモデルアソシエーション

私はfollwingモデルごとに登録されたユーザーは、市内を作成することができ

  • ユーザーモデル
  • 市モデル
  • 話しモデル

を持って、地域のディスカッションボードを構築したいと一時的な編集権限が与えられますが、管理者はすべてを管理し、都市を作成したユーザーの許可を取り消すことができます。 Talkモデルの場合、ユーザーはajaxを使用してメッセージを作成または削除することしかできません。

など。 http://localhost:3000/nyc/ ==>私はmongoidを経由して、すべてのこれらの関係を関連付けることができますどのように

トークメッセージを作成する==>すべてのトークメッセージに

http://localhost:3000/nyc/newを一覧表示するには? そしてroutes.rbファイルを設定するにはどうすればよいですか?

答えて

1

あなたはあなたの街の間の関連付けを追加し、そのように話す使用することができます。

Class City 
    include Mongoid::Document 

    has_many :talks 
end 

class Talk 

    include Mongoid:Document 

    belongs_to :city 
end 

はmongoidの関係についてのドキュメントを参照してください:すべてのhttp://mongoid.org/docs/relations.html

+0

はまず、私の質問に答えてくれてありがとう、あなたが言うことができますどのようにそれらの2つのモデルにユーザーモデルを関連付けるか?私が尋ねたいのは、ユーザモデルが同時に多くの都市と会話を持つことができるかどうかです。 –

+0

あなたは、 'ユーザー'の 'belongs_to'' has_many'を' Talk'や 'City'にリンクすることができます。しかし、あなたがしたいタイプやリクエスト、そしてそれを実装する必要があるかどうかに依存します。 MongoDBには結合システムはありません。だからあなたはコレクションから1つのリクエストをする必要があります。あなたがCityにリンクしている場合、CityにいくつかのTalkが含まれている場合、あなたは3つの要求をして、あなたのユーザを話す必要があります。あなたはユーザーと話を関連付けることができます。しかし、自分でリストを管理する必要があります。他のものよりも妥当性検査のほうが重要です。 – shingara