Привет, люди, у меня есть некоторые проблемы с аутентификацией устройств для пользователей:
У меня есть две модели, называемые color и sub_color в моем приложении. sub_color принадлежит_цвету, а цвет has_many sub_colors. Я уже заполнил базу данных соответствующими данными
Соревнование; Я хочу, чтобы пользователь мог выбрать их в devise form_for, когда они регистрируются в качестве объекта коллекции, а идентификатор sub_color будет также использоваться для идентификации конкретного пользователя (ситуация, когда, например, я могу сортировать всех пользователей, которые голубого цвета). Как мне этого добиться, пожалуйста?
Это то, что я пробовал, но это не работает:
%= 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>]
color_id' for #<User:0x851f928> Rails.root: C:/Users/c/Documents/Ojojas Application Trace | Framework Trace | Full Trace activemodel (4.2.6) lib/active_model/attribute_methods.rb:433:in
method_missing' actionview (4.2.6) lib/action_view/helpers/tags/base .rb:28:inpublic_send' actionview (4.2.6) lib/action_view/helpers/tags/base.rb:28:in
value' actionview (4.2.6) lib/action_view/helpers/tags/collection_select.rb:16:in `block in render' 21.09.2016color_id
в таблицу пользователей и определить ассоциации, как указано в ответе. 22.09.2016sub_color_id
для этого пользователя? 02.10.2016