【问题标题】:ruby on rails - current_user on modelruby on rails - 模型上的 current_user
【发布时间】:2016-02-18 18:05:33
【问题描述】:

我需要在模型上调用current_user(我已经安装了devise)。 我用这个方法但是不行:

class Todo
  def category_name
    category.try(:name)
  end

  def category_name=(name)
    self.category = Category.find_or_create_by(name: name, user_id: current_user)
  end

end

我该如何解决?

【问题讨论】:

  • 你是如何尝试调用这些方法的?
  • 任何地方。你期待什么结果?
  • 从控制台,我得到一个错误,因为没有变量 current_user
  • 如果您尝试在这里解释您到底想做什么,那么也许我们可以提供帮助。在模型中包含 current_user 并不是一个好主意。

标签: ruby-on-rails ruby devise


【解决方案1】:

current_user 是用于视图和控制器的设计助手。如果您有一个需要 current_user 的实例方法,您可能应该将其逻辑移至控制器。

这里解释得更好:Access to current_user from within a model in Ruby on Rails

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多