ruby-on-rails-3 - Rails 3.2 是否有涵盖向用户分配管理属性的教程?

标签 ruby-on-rails-3 boolean admin attr-accessible

免责声明:我使用的是 Rails 3.2。具体来说,在《Rails 3 in Action》一书中:

用户模型确实有 attr_accessible attr_accessible :email、:password、password_confirmation、:remember_me

用户模型没有列出 :admin,因此不能将其作为 params[:user] 的一部分进行批量分配。


app/views/admin/users/_form.html.erb 中的 form_for block 设置了一个复选框元素 允许管理员将用户设置为管理员:

` <%= f.check_box :admin %> <%= f.label :admin, "是管理员吗?"%>


app/controllers/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 属性更改为真的。


我可以将 admin 属性设置为 true,而无需通过控制台进行批量分配,并在用户模型中定义方法:

def make_admin
  self.admin = true
end

这完成了同样的事情,没什么花哨的。

如何将管理属性分配为 TRUE,以便用户通过复选框使用 View 和 Controller ?

有没有办法从 params[:user][:admin]) 中删除或分离 admin 参数?

最佳答案

注释掉development.rb 文件中的config.active_record.mass_assignment_sanitizer = :strict 行让我前进。

关于ruby-on-rails-3 - Rails 3.2 是否有涵盖向用户分配管理属性的教程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9728429/

相关文章:

javascript - 如何将 boolean 对象分配给值?

python - 无法导入名称格式

python - 如何修改 Django admin ManyToManyField 文本?

ruby-on-rails-3 - 使用 rspec 2 测试不在 spec/controllers 中的 rails Controller

ruby-on-rails - cucumber / capybara 测试不再在Rails 3项目中运行

ruby-on-rails - as_json 没有在关联上调用 as_json

ruby-on-rails-3 - Heroku 上未显示 500 错误页面

java - 制作一个在字符串中查找小写字母的方法

Javascript onclick 函数与 if 和 else 不按其应有的方式工作

php - 登录系统php的管理员权限