【问题标题】:RoR Enum "Unable to autoload constant" errorRoR 枚举“无法自动加载常量”错误
【发布时间】:2016-05-28 14:11:37
【问题描述】:

我在活动管理员中遇到基本枚举错误:

无法自动加载常量 School_user

我已经在模型中定义了枚举:

class SchoolUser < ActiveRecord::Base
    belongs_to :user
    has_one :school

    enum user_type: [:school, :student, :guardian, :teacher]

end

在 admin/school_user.rb 我试图获取下拉列表:

ActiveAdmin.register SchoolUser do

permit_params [:user_type]

form do |f|
      f.inputs "School_user" do
        f.input :user_type, :as => :select, :collection => School_user::user_type.keys
    end
    f.actions
end

end

user_type 是一个整数。

我不知道我在这里做错了什么,但我敢打赌这是一个简单的疏忽。有什么帮助吗?

【问题讨论】:

    标签: ruby-on-rails ruby enums


    【解决方案1】:

    无法自动加载常量 School_user

    我相信错误在下面一行

    f.input :user_type, :as => :select, :collection => School_user::user_type.keys
    

    School_user 应该是SchoolUser

    f.input :user_type, :as => :select, :collection => SchoolUser::user_types.keys
    

    【讨论】:

    • 谢谢,我改变了这个,但是得到一个未定义的 user_type 方法错误?
    • @Co2 你能发布你现在得到的完整错误吗?
    • 谢谢,我修好了,我只需要输入 user_types.keys 而不是 user_type.keys。感谢您的帮助。
    • @co2 啊是的。没看到。
    猜你喜欢
    • 2021-02-09
    • 1970-01-01
    • 2018-12-02
    • 2016-04-13
    • 2015-10-19
    • 2020-08-27
    • 1970-01-01
    • 2021-06-21
    • 2020-01-04
    相关资源
    最近更新 更多