我在数据库中有一个名为pcomment的表。每个小部件都属于购买。购买has_many pcomments。另外,每个用户都有多个用户,每个用户都有一个用户。在数据库中,pcomments表有id / user_id / purchase_id / body / created_at / updated_at
除了user_id仍然是空白之外,所有内容都正确填写。我希望用当前登录用户的user_id(即正在创建pcomment的用户)填充它。)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/
答案 0 :(得分:0)
这可能不是最好的方法,但是如果你已经定义了“current_user”方法,或者正在使用设计,你可以简单地在@pcomment.save之前放置@ pcomment.user_id = current_user.id / p>