Отказ от ответственности: я использую Rails 3.2.В частности, в книге Rails 3 in Action:
Модель User имеет attr_accessible attr_accessible: email,: password, password_confirmation,: Remember_me
Модель пользователя НЕ имеет: admin, поэтомуне может быть назначен массово как часть params [: user].
Блок form_for внутри app / views / admin / users / _form.html.erb устанавливает элемент флажка, чтобы разрешитьадминистратор для установки пользователя в качестве администратора:
`<% = f.check_box: admin%> <% = f.label: admin," Является ли администратор? "%>
Приложение / контроллеры / admin / users_controller.rb
@user = User.new(params[:user])
@user.admin = params[:user][:admin] == "1"
if @user.save
Строка @ user.admin = params [: user] [: admin] == "1" должен установить для атрибута admin значение true, но генерирует ошибки массового назначения, которые мешают мне изменить атрибут @ user.admin на true.
Я могу установить для атрибута admin значение true без массового назначения через консоль, наряду с определением метода в модели User:
def make_admin
self.admin = true
end
Это выполняет то же самое,ничего фантастического.
Как получить атрибут admin, присвоенный TRUE, чтобы пользователь мог работать с использованием view и controller через флажок?
Есть ли способ удалить или отделить параметр admin от params [: user] [: admin])?