Rails флажок не работает - нет ошибок при отправке формы


У меня проблема с флажком в Rails:

У меня есть две модели, User и authorized_users, со следующей ассоциацией:

class AuthorizedUser < ActiveRecord::Base
  has_one :user, as => :useraccount

И:

class User < ActiveRecord::Base
  belongs_to :useraccount, :polymorphic => true, :dependant => :destroy

В представлении" редактировать " пользователя я хочу установить флажок для проверки, должен ли Authorized_user получать электронное письмо (true) или нет (false):

<%= check_box(:authorized_user, :sendEmail, options = {:checked => true}, checked_value =  true, unchecked_value = false) %> 

Тот же самый точный код отлично работает в "новом" представлении Authorized_user, при создании нового пользователя, но когда я редактирую их, с "редактирую" представление пользователя, ошибки нет отображается при отправке формы, но логическая ячейка в базе данных не изменяется.

Что мне нужно изменить, чтобы при отправке формы изменения были сохранены?

Заранее большое вам спасибо.

Pd: для получения дополнительной информации я могу сказать, что другие данные изменяются без проблем в этом представлении "edit" от пользователя, например exmaple:

<%= f.text_field :phone %>

Журнал ошибок после изменения:

<% f.check_box :sendEmail %>

Предложено @marek-lipka

NoMethodError in Users#edit

Showing app/views/users/edit.html.erb where line #64 raised:

undefined method `sendEmail' for #<User:0xb5dbd96c>  

Extracted source (around line #64):  

63:   <p>¿Desea recibir e-mails?/p>  
64:   <p><%= f.check_box :sendEmail %></p>  
65: <%end%>  
66: <br />

После долгого обсуждения с @marek-lipka мы получили ключ:

Мы должны использовать :useraccount в качестве действия компоновщика, а не: authorized_user:

<%= check_box(:useraccount, :sendEmail, options = {:checked => true}, checked_value =  true, unchecked_value = false) %> 
1 3

1 ответ:

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

<%= f.check_box :send_email %>
Обратите внимание, что я использовал имя send_email в Конвенции Rails, которую вы должны принять.