大家好,我在这里面临一些挑战,为用户设计验证:
我的应用程序中有两个名为color和sub_color的模型。 sub_color belongs_to颜色和颜色has_many sub_colors。我已经用适当的数据为数据库播种了
挑战;我希望用户能够在设计注册为集合对象时在设计form_for中选择这些,并且sub_color的id也将用于识别特定用户(例如我可以对所有用户进行排序的情况)蓝色(蓝色)。我该如何做到这一点?
这是我尝试过的,但它不起作用:
%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :email, required: true, autofocus: true %>
<%= f.input :user_name, required: true %>
<%= f.input :password, required: true, hint: ("# {@minimum_password_length} characters minimum" if @minimum_password_length) %>
<%= f.input :password_confirmation, required: true %>
<%= f.input :first_name, required: true %>
<%= f.label :color_id, "Color" %> <br/>
<%= f.collection_select :color_id, Color.order(:name), :id, :name, include_blank: true%>
<%= f.label :sub_color_id, "Sub Color" %> <br/>
<%= f.grouped_collection_select :sub_color_id, Color.order(:name), :sub_color, :name, :id, :name, include_blank: true%>
<div class="form-actions">
<%= f.button :submit, "Sign up" %>
</div>
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 #<User:0xbacc720>]
答案 0 :(得分:1)
首先,您需要将@IBAction func onDelPressed (button: UIButton!) {
runningNumber = String(runningNumber.characters.dropLast())
currentLbl.text = runningNumber
}
和color_id
添加到用户表。
然后在user.rb sub_color_id
和sub_color.rb belongs_to :sub_color
中定义关联。与has_many :users
,user.rb color
和color.rb belongs_to :color
相同。
希望有所帮助!