У меня есть таблица в базе данных под названием pcomment. Каждый комментарий принадлежит покупке. У покупки много комментариев. кроме того, у каждого пользователя есть_множество комментариев, а каждый комментарий принадлежит пользователю. В базе данных таблица pcomments имеет id / user_id / Purchase_id / body / created_at / updated_at
Все заполняется правильно, кроме user_id всегда пусто. Я хочу, чтобы он был заполнен user_id текущего вошедшего в систему пользователя (то есть того, кто создает pcomment.) И user_id, и pcomment_id индексируются в таблице с помощью add_index (во время миграции)
Вот форма для комментария
<%= 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/.