0

我在数据库中有一个名为 pcomment 的表。每个 pcomment 都属于一个购买。一次购买 has_many pcomments。另外,每个用户有_many pcomments 和每个pcomment 属于_to 用户。在数据库中,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/

4

1 回答 1

0

这可能不是最好的方法,但是如果您定义了“current_user”方法,或者正在使用设计,您可以简单地将@pcomment.user_id = current_user.id 放在@pcomment.save 之前

于 2012-10-13T02:03:48.683 回答