アドバイスが必要です。RoR に関するプロジェクトを行っていますが、モデル間のどの関係を使用すればよいかわかりません。ユーザー、ボード、メッセージの 3 つのモデルがあります。最初は非常に単純です: ユーザーには 1 つの壁があり、それはユーザーに属しているため、次のようになるはずです。
class User < ActiveRecord::Base
has_one :board
end
class Board < ActiveRecord::Base
belongs_to :user
end
最後のモデルは Messages で、ここに私の問題があります。メッセージは、彼が書いたユーザーに属しますが、壁に書いたために壁にも属します (他のユーザーに属する壁である可能性があります)。
私は簡単な解決策を使用しました:
class Theme < ActiveRecord::Base
belongs_to :board
belongs_to :user
end
class User < ActiveRecord::Base
has_one :board
has_many :themes
end
class Board < ActiveRecord::Base
belongs_to :user
has_many :themes
end
しかし、私はそれに満足しておらず、完璧ではないと感じています. 私は次のように考えて書くことができる解決策を探しています:
user.themes.create(:board => @board)
(今は user_id フィールドを埋めません)
私より Ruby on Rails モデルの経験が豊富な人にとっては、これが難しい作業ではないことを願っています。良いアドバイスをいただければ幸いです、ありがとう。