データベースに pcomment というテーブルがあります。各 pcomment は購入に属します。購入には has_many pcomments があります。さらに、各ユーザーには多くの pcomments があり、各 pcomment はユーザーに属しています。データベースでは、pcomments テーブルには id/user_id/purchase_id/body/created_at/updated_at があります
user_id が常に空白であることを除いて、すべてが正しく入力されています。現在サインインしているユーザー (つまり、pcomment を作成しているユーザー) の user_id を入力する必要があります。user_id と pcomment_id の両方が add_index を使用してテーブルにインデックス付けされます (移行中)
pcommentのフォームはこちら
<%= form_for([purchase, purchase.pcomments.build]) do |f| %>
<div class="field">
<h4>What deal are you offering?</h4>
<%= f.text_field :body %>
</div>
<% end %>
ここに pcomments_controller.rb があります
class PcommentsController < ApplicationController
before_filter :signed_in_user
def create
@purchase = Purchase.find(params[:purchase_id])
@pcomment = @purchase.pcomments.build(params[:pcomment])
@pcomment.purchase = @purchase
if @pcomment.save
flash[:success] = "Offer submited!"
redirect_to :back
else
render 'shared/_pcomment_form'
end
end
def new
@pcomment=purchase.pcomments.new
end
end
私のコードがさらに必要な場合は、https://github.com/tradespring1/tradespring/にあります。