如何解决此Devise身份validation挑战?

大家好,我在这里面临一些挑战,为用户设计认证:

我的应用程序中有两个名为color和sub_color的模型。 sub_color belongs_to颜色和颜色has_many sub_colors.I已经用适当的数据为数据库播种了

挑战; 我希望用户能够在设计注册为集合对象时在设计form_for中选择这些,并且sub_color的id也将用于识别特定用户(例如我可以对所有用户进行排序的情况)蓝色(蓝色)。 我该如何做到这一点?

这是我尝试过的,但它不起作用:

%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>  


model for users: belongs_to :sub_color has_one :color, through: :sub_color devise....... end model for sub_color has_many :users belongs_to :color end model for color has_many :sub_color end

这是我在网络浏览器上看到的错误

 NoMethodError in Devise::Registrations#new [undefined method `color_id' for #] 

首先,您需要将color_idsub_color_id添加到users表。

然后在user.rb belongs_to :sub_color和sub_color.rb has_many :users定义关联。 与color相同,user.rb belongs_to :color和in color.rb has_many :users

希望有所帮助!