在此输入代码rails
@user = User.new(params[:id])
@user.update_attributes(params[:user])
# params[:user] = {:admin => true, :name => "stackoverflow", ...}
以防万一 :admin仅允许服务管理员。
开发人员没有为管理员制作(就像有些用户强行插入一样。
我希望某些字段只允许有人获得许可(不是普通用户)
(在旧时代,我强行插入。 public tumblr无法更改为私有tumblr,但可以通过插入soem代码行来实现)
答案 0 :(得分:0)
您要搜索的是attr_accessible。
来自http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html
class AccountsController < ApplicationController
include ActiveModel::MassAssignmentSecurity
attr_accessible :first_name, :last_name
attr_accessible :first_name, :last_name, :plan_id, :as => :admin
def update
...
@account.update_attributes(account_params)
...
end
protected
def account_params
role = admin ? :admin : :default
sanitize_for_mass_assignment(params[:account], role)
end
end
注意:强> 这只适用于rails&gt; 3.0。如果您的版本小于3,则可以查看ryan bate的dynamic attr accessible cast