私はレールに不慣れで、フォローアップを設定する方法がわかりませんでした。
ユーザー、招待状、写真のモデルがあります。各ユーザーは、他のユーザーを招待して特定の写真を表示します。ユーザーは他のユーザーに招待状を送信します。招待状は特定の画像にリンクされている場合と、まったくリンクされていない場合があります。
私の問題は、招待状と写真の間にオプションの関係を関連付ける方法がわからなかったことです。
私は持っています:
class Invitation < ActiveRecord::Base
has_one :picture
end
class Picture < ActiveRecord::Base
belongs_to :invitation
end
ただし、invitation.pictureを試してみると、次のエラーが発生します。
Failure/Error: @user.getsInvited invitation
ActiveRecord::StatementInvalid:
SQLite3::SQLException: no such column: picture.invitation_id: SELECT "picture".* FROM "picture" WHERE "picture"."invitation_id" = 1 LIMIT 1
おそらく私は写真モデルに列の招待状を追加する必要がありますが、これは必要です-写真の送信は招待状でオプションである可能性があります。また、画像に1つのinvitation_id列がある場合、同じ画像がさまざまな招待状で共有されるとどうなりますか?
つまり、各招待状には1つの画像が関連付けられている場合があり、他の招待状には同じ画像が関連付けられている場合があります。写真に招待状を「認識」させたくありませんでしたが、多対多の関係を作成する必要があるのではないでしょうか。
ありがとう!