我正在关注Ruby on Rails的官方入门指南。该指南提供了以下代码来向关注点添加状态验证:
module Visible
extend ActiveSupport::Concern
included do
VALID_STATUSES = ['public', 'private', 'archived']
validates :status, in: VALID_STATUSES
end
def archived?
status == 'archived'
end
end
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:Unknown validator: 'InValidator'
在线validates :status, in: VALID_STATUSES
。我正在使用 Rails 6.1.0 并完全遵循此版本的指南。这里有什么问题?
编辑
我做了一个小的改变以使其工作:validates :status, inclusion: { in: VALID_STATUSES }
. 但我想知道为什么in
不像指南中那样工作。
我正在将我的项目从基于函数的视图转换为基于类的视图。在视图函数中,我可以使用函数检查用户是否是超级用户request.user.is_superuser()
。LoginRequiredMixin
我可以通过在类中继承来检查用户是否登录View
,我想知道是否有任何类似的方法可用于检查用户是否是类中的超级用户View
。我想要一个只能由网站的超级用户访问的 Django 应用程序。