我真的很喜欢让我的政策负责确保所有变量都被填充和有效的想法,所以我们不会得到任何nil:nilClass错误或类似错误。检查变量存在与评论者
我认为这将是很好的,以确保用户已经上传的文件使用策略:
这里是我创建行动:
def create
file = params[:file][:uploaded_file]
authorize file
# removed for brevity
end
而这里的政策:
class AssetPolicy < ApplicationPolicy
def initialize(current_user, record)
@current_user = current_user
@record = record
end
def create?
@record != nil
end
end
但是,我收到以下意外错误:
当文件为零时:
Pundit::NotDefinedError in Admin::Browser::AssetsController#create
unable to find policy NilClassPolicy for
当文件不是零:
Pundit::NotDefinedError in Admin::Browser::AssetsController#create
unable to find policy ArrayPolicy for [#<ActionDispatch::Http::UploadedFile:0x000000050a2af8]
所以我应该怎么检查的东西与权威人士的存在呢?