如何解决此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_id
和sub_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
。
希望有所帮助!