ruby-on-rails - 使用继承资源rails创建评论时设置当前用户

标签 ruby-on-rails nested-resources inherited-resources

我在评论 Controller 中使用 Rails Inherited_resource gem,并且评论是嵌套资源,因此:
资源:项目做
资源:评论做
结束

我在评论 Controller 中还有一个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
    当前用户
    结束
    这确实正确设置了用户 ID,但我无法使用此项目获取嵌套资源。

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

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

谢谢:)

最佳答案

您是否在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

关于ruby-on-rails - 使用继承资源rails创建评论时设置当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13753283/

相关文章:

ruby-on-rails - 尝试启动 Rails 服务器时出错

ruby-on-rails - 用 Ruby 思考

ruby-on-rails - 当远程 git 位于非标准路径上时使用 capistrano

ruby-on-rails-3 - 如何使用 rails scaffold 命令覆盖inherited_resources

ruby-on-rails - 使用具有继承资源的演示者

ruby-on-rails - 事件记录中缺少属性

ruby-on-rails - Rails - 嵌套对象删除

ruby-on-rails - Rails - link_to、路由和嵌套资源

ruby-on-rails-3 - 路由中没有父 ID 的嵌套资源

ruby-on-rails - 如何在增加预先加载的同时解决此错误? "ERROR ThreadError: Attempt to unlock a mutex which is locked by another thread"