にはいくつかアドバイスが必要です。 私はRoRに関するプロジェクトをやっていますが、モデル間の関係をどうすればいいのか分かりません。私は3つのモデル - ユーザー、ボード、メッセージを持っています。 初めは非常に単純です: ユーザーは一つの壁があり、それがユーザーに属しているので、私はこれがあるべき推測:Ruby on Railsモデルの関係
class User < ActiveRecord::Base
has_one :board
end
class Board < ActiveRecord::Base
belongs_to :user
end
最後のモデルはメッセージであり、ここで私の問題が来ます。メッセージはユーザーに帰属しますが、彼はそれを書いていますが、それは壁にも属します。壁に書いています(また、他のユーザーに属するWallでもかまいません)。
私は簡単な解決策を使用:
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_idのフィールドを埋めていない)
user.themes.create(:board => @board)
を:私は私の書き込みは以下のように考えてみましょうするソリューションを探していますRuby on Railsモデルで私よりも。良いアドバイス、感謝します。
を私はこの宝石を使用することは良い方法であることを理解し、私はすでに、私はマイケル・ハートルのRailsのチュートリアルにルビーから取ったシンプルなユーザーモデルを持っています。私はあなたが示唆していることをすることができますが、私はあなたの行が不要な解決策を探しています。単純な多対1の関係のように。助けてくれてありがとう – leonprou
この問題を処理する行を追加する必要があります。安全な選択肢はありません!あなたはuser_idを提供する隠されたフィールドを広告することができますが、POSTとGETを通じて提供されるすべてのデータを操作できるので、euserを介してクライアントに制御を渡します! – davidb
実際、予期せぬことに、私のソリューションは私が望むように機能しました。あなたのアドバイスをありがとう、私は将来それらを実装するでしょう。 – leonprou