Я строю небольшую страницу в RoR с помощью Devise gem и застрял. Когда я хочу сохранить профиль по вложенным атрибутам из пользовательской модели, есть ошибка, и я не могу ее преодолеть.Сохранение вложенных атрибутов для профиля в пользовательской модели (Rails)
пользователя Модель
has_one :profile
accepts_nested_attributes_for :profile
Профиль Модель
belongs_to :user
Изменить вид пользователь (здесь я хочу, чтобы добавить информацию о профиле)
<% resource.build_profile %>
<%= form_for(resource, :as => resource_name,
:url => registration_path(resource_name),
:html => { :method => :put, :class => "custom" }) do |f| %>
(some fields for user)
<%= f.fields_for :profile, :child_index => resource.id,
:html => {:class => "custom"} do |profile| %>
<%= profile.label :name %>
<%= profile.text_field :name %>
<%= profile.label :surname %>
<%= profile.text_field :surname %>
<% end %>
<%= f.submit "Update my profile!" %>
<% end %>
Ошибка в браузере
Internal server error
Ошибка в терминале
!! Unexpected error while processing request: expected Array (got Rack::Utils::KeySpaceConstrainedParams) for param `profile_attributes'
Спасибо за помощь в совет :)
EDIT
Это была глупая ошибка .. У меня был этот p искусство кода в моей форме:
<%= profile.select :gender, %w[Male Female], {}, { :index => nil }%>
Я удалил { :index => nil }
, теперь проблемы нет :)
К сожалению, не удалось :(По-прежнему такая же ошибка ... –