繁体   English   中英

User_id 和 user_type 是 NULL 使用 gem 审计

[英]User_id and user_type is NULL using gem audited

我对已审核的 gem 有疑问。 这是两个问题合而为一。 我在我的应用程序中安装并配置了审核的 gem,但是当我删除数据库并再次运行 migrate 和 seed 时,数据库中的 user_id 和 user_type 字段是 NULL 另外,当我通过 devise sign_up (new_registration_path) 注册用户时 user_id和 user_type 也在数据库中注册为 NULL,这会导致错误,如图像或此处所示:

在此处输入图像描述

undefined method `name' for nil:NilClass

错误行是这样的:

<%= f.select :user_name_cont, Audity.all.map { |u| [u.user.name] }.uniq, include_blank: true %>

在此处输入图像描述

我已经在我的 Audity model 中放入了一个 belongs_to optional: true,但错误仍然存在。

我的应用程序在我的 github 上: https://github.com/eltonsantos/auth-rails

如何解决此错误? 我认为的解决方案是在运行种子或注册新用户时,运行 after_save 或 after_create 在 user_id 字段中放置一些默认 id(可能是他自己的 id),但我不确定这是否是最好的解决方案。

我拉出了你的 Rails 应用程序并运行了数据库种子。 修复 user.rb 文件中的错字后,该错误对我来说消失了。

class User < ApplicationRecord

  audited
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable

  enum role: { superadmin: 0, auditor: 1, manager: 2, registred: 3 }

  has_many :cars

  has_one_attached :avatar # removed a comma here

end

让我知道这是否也为您解决了问题。

蟒蛇排序!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM