Devise中的resource是什么意思?

What does resource mean in Devise?

我想改变设计中用户登录时发生的事情。当我查看源代码时,资源一词无处不在,但我不明白它代表什么。它只适用于设计和监管吗?

def after_sign_in_path_for(resource)
  stored_location_for(resource) ||
    if resource.is_a?(User) && resource.can_publish?
      publisher_url
    else
      super
    end
end

资源是用户实例的抽象名称。它可以在设计设置中配置为与管理模型或任何其他模型一起使用。

默认情况下,它是在您的路由中声明的第一个设计角色

devise :users  # resource is instance of User class
devise :admins # resource is instance of Admin class

Alex的回答说的很简洁,但是大家可能不是很清楚,鉴于上面的评论:

"Resource" 是开发人员希望引用其 "User" 模型

的方式

设计的作者意识到那些使用 gem 的人会希望它以不同的方式定制。有些人会称呼他们的用户:Users,其他人会称呼他们:Swimmers、Golfers 或 Presidents,视情况而定。 "Resource" 基本上是应用程序开发人员将来使用的用户名的替代品。 Devise 不关心用户实际被称为什么:无论它被称为什么,设计,您的用户都将被简单地称为 "resource"。如果是任何其他方式,那么 gem 的作者将不得不强制应用程序开发人员称呼他们的用户:Administrator 或 Admin - 这是非常严格的,开发人员不会喜欢这样。