【问题标题】:What does resource mean in Devise?资源在设计中是什么意思?
【发布时间】:2016-11-27 04:49:18
【问题描述】:

我想改变用户登录时在设计中发生的事情。当我查看源代码时,资源这个词无处不在,但我不明白它代表什么。它只与设计和守护有关吗?

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

【问题讨论】:

标签: ruby-on-rails ruby devise ruby-on-rails-5


【解决方案1】:

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

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

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

【讨论】:

  • 我还是一头雾水。我正在使用用户模型的设计。这是否意味着“资源”代表用户?
  • 是的。默认情况下,它是您的路线中声明的第一个设计角色。 devise_for :users
【解决方案2】:

Alex 的回答简洁明了,但鉴于上面的评论,可能不是每个人都清楚:

“资源”是开发人员希望如何引用他们的“用户”模型

devise 的作者意识到那些使用 gem 的人会希望它以不同的方式定制。有些人会想给他们的用户打电话:用户,其他人会想给他们打电话:游泳者、高尔夫球手或总统,视情况而定。 “资源”基本上是应用程序开发人员将来使用的用户名称的替代品。设计并不关心用户实际上被称为什么:无论它被称为什么,设计,您的用户都将被称为简单的“资源”。如果是其他方式,那么 gem 的作者将不得不强制应用程序开发人员调用他们的用户:Administrator 或 Admin - 这是非常严格的,开发人员不会喜欢这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 2023-03-18
    • 2013-09-19
    • 2020-06-26
    • 2011-08-12
    • 2017-06-11
    • 2018-03-05
    相关资源
    最近更新 更多