Ruby on Rails 3を使用してYouTubeの「好き」と「嫌い」のスタイルで当サイトの投票機能を作成しています。スキーム。Like /嫌いスタイルRailsの投票データベース
私は3つのモデル、ユーザー、トピック、および投票を持っています。各ユーザーは、1つのトピックについて「好き」または「嫌い」という1つの投票を行います。これらのサイトのように、ユーザーはトピックに投票できますが、新しいトピックを作成することもできます。私はすべてのユーザーの投票だけでなく、作成したトピックと投票したトピックの両方を見ることができるようにしたいと考えています。私はこれを独自に構築しようとしており、このプロセスを処理するためのデータベースの設定方法を決定しています。
は私の最初のアイデアは、使用していた:排他的にそうようにhas_manyとbelongs_toの...
クラスのユーザー<はActiveRecord ::ベース
にhas_many:投票
にhas_many:トピック
クラスのトピック< ActiveRecord :: Base
has_many:votes
belongs_toの:ユーザー
クラス投票<はActiveRecord ::ベース
belongs_toの:トピック
belongs_toの:ユーザーユーザーが同じように選ぶか嫌いか
ブール選択肢#tracks
しかし、これがこれを行う最良の方法ではないことが明らかになった。私は最善の方法を使用することだと思うようになった:has_manyの:のような団体を通じて...
クラスのユーザー<はActiveRecord ::ベース
にhas_many:投票、:=>を通じて:トピック
確信はないけど。このようなものを設定するのに最適な方法に関するアイデアはありますか?