代码之家  ›  专栏  ›  技术社区  ›  TK.

在Ruby on Rails的模型中使用“current_user”

  •  2
  • TK.  · 技术社区  · 14 年前

    我使用的是Devise,它在helpers中提供了“current_user”方法,这样我就可以在视图和控制器中使用。

    def create
      set_email_address(params[:email_address])
      Comment.new(params[:content], set_email_address)
      # [snip]
    end
    
    private
    def set_email_address(param_email)
      if current_user
        @email_address = current_user.email
      else
        @email_address = param_email
      end
    end
    

    我想把“set_email_address”移到一个模型中,因为我认为这是一个逻辑,应该交给模型。我计划用一个Rails回调连接这个方法。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    8 年前

    老实说, this answer 差不多可以总结一下。这根本不属于模型逻辑。正如另一个答案所说,你可以而且应该通过 current_user 如果要在模型中使用控制器的值。

        2
  •  0
  •   trptcolin    14 年前

    这个 current_user

    你还是需要把你的 @email_address