【发布时间】:2012-07-06 10:44:56
【问题描述】:
我对这个批量分配问题有点困惑。这是我的问题
假设我有一个具有以下属性的用户模型: 姓名 登录 密码 电子邮件
在编辑期间,触发更新方法:
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
....
end
在我看来,保护大多数(如果不是全部)这些属性是有意义的,因为我不希望密码/电子邮件/登录名受到损害。所以我会在模型中这样做
attr_accessible:名称
因此,除了名称之外的所有其他属性都无法批量分配。
如果我这样做,有效的编辑表单将如何工作?是否需要在更新方法@user.email = params[:user][:email]等中一一分配属性?还是我误解了什么(可能)?
谢谢!
编辑:
更具体一点:
通常您会看到带有受保护的 admin 属性的示例。这是有道理的。
但是密码或电子邮件属性呢?这些通常不受保护。为什么密码或电子邮件不受保护?这可能意味着可能有人可以重置电子邮件并重置密码或重置密码属性并获得对系统的访问权限,不是吗?
【问题讨论】:
-
我编辑了你的标题;希望它能够捕捉到您提出的问题。原来的标题没用。
-
我不认为这是正确的标题,因为我不是要求那个。我认为这是保护如何工作的普遍问题。我将稍微编辑一下问题以使其更清楚
标签: ruby-on-rails