рельсы 3 принимает вложенные атрибуты не работают - PullRequest
1 голос
/ 10 апреля 2011

Я пытаюсь использовать вложенные атрибуты в моей модели пользователя для настроек, чтобы я мог редактировать информацию пользователя и информацию о настройках на одной странице. Вот мой код:

User.rb

has_one :settings
accepts_nested_attributes_for :settings, :allow_destroy => true
attr_accessor :settings_attributes

просмотров / пользователей / регистрация / edit.html.erb

<%= f.fields_for :settings do |s| %>
<p>
  <%= s.label :newsletter %><br />
  <%= s.check_box :newsletter %>
</p>
<% end %>

Это, похоже, работает просто отлично, форма отображается правильно. Однако атрибуты настроек вообще не изменяются при отправке формы.

Я использую Rails 3, и Devise создал мою пользовательскую модель. Возможно, мне не хватает чего-то, что нужно перейти в модели контроллера?

1 Ответ

1 голос
/ 10 апреля 2011

Скорее всего, вызвано использованием множественного числа вместо единственного числа для установки. Попробуйте перейти на это:

модель

has_one :setting
accepts_nested_attributes_for :setting, :allow_destroy => true

вид

<%= f.fields_for :setting do |s| %>

Для чего вы используете attr_accessor?

...