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 - 这是非常严格的,开发人员不会喜欢这样。
我想改变设计中用户登录时发生的事情。当我查看源代码时,资源一词无处不在,但我不明白它代表什么。它只适用于设计和监管吗?
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 - 这是非常严格的,开发人员不会喜欢这样。