Ruby on rails 更新模型属性

Ruby on rails 更新模型属性,ruby-on-rails,attr-accessible,Ruby On Rails,Attr Accessible,我有一个Rails应用程序,它是一个博客平台,允许多个贡献作者。我的用户模型具有一个:writer布尔属性,用于分配写入权限。但是,:writer未列在用户可访问属性下 我想找到一种通过web编辑此属性的方法,而不必运行 User.find_by_id(user_id).update_attribute(:writer, true/false) 通过控制台,但我想知道如果不在用户模型的attr\u accessible下列出:writer,这是否是不可能的。我有几个页面只能供管理员用户访问,我

我有一个Rails应用程序,它是一个博客平台,允许多个贡献作者。我的用户模型具有一个:writer布尔属性,用于分配写入权限。但是,:writer未列在用户可访问属性下

我想找到一种通过web编辑此属性的方法,而不必运行

User.find_by_id(user_id).update_attribute(:writer, true/false)
通过控制台,但我想知道如果不在用户模型的attr\u accessible下列出:writer,这是否是不可能的。我有几个页面只能供管理员用户访问,我希望能够在这些视图中切换:writer属性

如果真的有可能,怎么办?提前感谢您的帮助

编辑:根据我得到的两个答案,我觉得我的问题应该更具体一些。我道歉。我知道我仍然可以单独更新:writer属性,正如比灵顿和希特什所指出的那样。我想知道的是如何通过视图实现这样的功能。是否可以制作一个可点击的链接来切换:writer状态?是否可以使用链接调用控制器功能,并为:writer切换传递相应的用户id

User.find_by_id(user_id).update_attribute(:writer, true) or 
User.find_by_id(user_id).update_attribute(:writer, false)

attr\u可访问和attr\u受保护仅保护属性。您仍然可以通过其他方式分配它们:

质量分配(不起作用):

非质量分配(选项1):

非质量分配(选项2):

非质量分配(选项3):


我个人不喜欢这些手动选项中的任何一个,因此我编写了一个名为gem的程序,它可以更容易地使用“sudo”方法覆盖批量分配。

谢谢比灵顿!有没有办法通过视图(可能是通过按钮或可单击的链接)实现这些选项中的任何一个?这可能不在视图中,必须在控制器或模型中。如果要创建一个方法来实现这一点,请在我的控制器中创建一个名为toggle_writer的方法,可以通过按钮或可点击的链接调用吗?是的,你肯定可以这样做。不过,有十几种方法可以做到这一点。如果你仍然不确定,我建议你再提出一个问题,有人可以给你帮助。
model.update_attributes(:admin => true)
model.admin = boolean
model.save
model.send(:attributes=, attributes, false)
model.update_attribute(admin, boolean)