--更新: 私はもう少し読んでいて、外部キーを追加する必要があるようです - 誰かが私がこれを行う方法を教えてもらえますか? 作成した余分なフィールドを削除する必要がありますか?
--
Ruby on Rails は初めてで、いくつかの基本概念に問題があります。Michael Hartl の本を読み終えたばかりで、RailsApps の bootstrap-devise-cancan テンプレートを使用して、最初のアプリを開始しています。
User モデルと Event モデルがあります。ユーザーが多くのイベントを投稿したり、多くのイベントに参加したりできるようにしたいと考えています。フィールド events_attending と created_events を User テーブルに追加しました。Event テーブルには users_attending と user_created が含まれています。「イベントの作成」フォームが送信されると、user_created フィールドにイベントを投稿したユーザーが入力され、そのイベント ID が created_events の下の users テーブルに記録されるようにしようとしています。
Event モデルに以下を追加しました。
belongs_to :user
has_many :users
および User モデルに (ただし、ユーザーが複数のイベントに属することができることを考えると、これが正しいかどうかはわかりません。has_and_belongs_to_many を調べて、おそらくそれが進むべき道だと思いました..):
has_many :events
belongs_to :event
目的の効果を実現するためにコントローラーに何を入れればよいかわかりません。これは、現在イベント コントローラーにあるものです。
def create
@event = Event.new(params[:event])
respond_to do |format|
if @event.save
format.html { redirect_to @event, notice: 'Event was successfully created.' }
format.json { render json: @event, status: :created, location: @event }
else
format.html { render action: "new" }
format.json { render json: @event.errors, status: :unprocessable_entity }
end
end
コントローラーに何を追加する必要がありますか?他に何が欠けていますか? さらにコードを見る必要がある場合はお知らせください。ありがとう!