2

我在我的评论控制器中使用 Rails Inherited_resource gem,评论是一个嵌套资源,所以:
资源:项目做
  资源:评论做
结束

我在评论控制器中也有一个 belongs_to:
belongs_to :project, :finder => :find_by_project_uuid!, :class_name => "Thfz::Project", :polymorphic => true

  1. 如何在创建评论时将评论的用户关联设置为 current_user(user_id)?因为 user_id 不应该被大量分配。

  2. 我尝试了以下操作:
    def begin_of_association_chain
         current_user
    end
    这确实正确设置了用户 ID,但我无法让嵌套资源为 Project 工作。

  3. 销毁评论时也会出现同样的问题,我需要通过current_user找到评论,那么如何实现呢?

那么我必须编写自己的创建和销毁操作吗?

谢谢 :)

4

1 回答 1

2

您是否在 comments_controller 中尝试过以下操作?

class CommentsController < InheritedResources::Base
  before_filter :authenticate_user! # Assuming you are using Devise for authentication
  respond_to :html, :xml, :json

  belongs_to :project, :finder => :find_by_project_uuid!, :class_name => "Thfz::Project"

  def create
    @comment = build_resource
    @comment.author = current_user

    create!
  end
end
于 2013-01-23T12:56:21.993 回答