rtf*_*inc 17 ruby-on-rails mass-assignment
只是想明确什么是质量分配以及如何围绕它进行编码.是质量分配许多领域的使用哈希的分配,即喜欢..
@user = User.new(params[:user])
Run Code Online (Sandbox Code Playgroud)
为了防止这种情况,你可以使用attr_accessible:
attr_accessible :name, :email
Run Code Online (Sandbox Code Playgroud)
因此,像管理员这样的字段无法通过批量分配添加?
但是我们可以通过以下方式在代码中修改它:
@user.admin = true
Run Code Online (Sandbox Code Playgroud)
那么,如果我们没有attr_accessible,那么一切都可以进行质量分配吗?
最后一个棘手的问题......是否真的即使有一个attr_accessible如"attr_accessible:name"也意味着所有其他字段现在都无法进行大规模分配?
正如Srdjan所指出的,你所有的假设都是正确的.你知道,还有一个attr_protected方法,与attr_accessible相反.
换一种说法
attr_protected :admin
Run Code Online (Sandbox Code Playgroud)
将阻止:管理员被批量分配,但将允许所有其他字段.
归档时间: |
|
查看次数: |
4139 次 |
最近记录: |