在 Rails 3 中,它基于 3.1,所以它有点旧,因为我使用 3.2.12,当我尝试分配 admin 而没有使其免费进行大规模分配时,它会引发错误,这是因为作者所说的 3.1 和 3.2 之间的差异. 所以最好使用以下哪个,有什么区别?
控制器中的第一种方法
def create
@user = User.new(params[:user], :as => :admin)
if @user.save
flash[:notice] = "User has been created."
redirect_to admin_users_path
else
flash[:alert] = "User has not been created."
render :action => "new"
end
end
在模型中
attr_accessible :email, :password, :admin, :as => :admin
控制器中的第二种方法
def create
@user = User.new(params[:user], :without_protection => true)
@user.admin = params[:user][:admin] == "1"
if @user.save
flash[:notice] = "User has been created."
redirect_to admin_users_path
else
flash[:alert] = "User has not been created."
render :action => "new"
end
end
没有在模型中添加上面的行
哪一个将防止大规模分配或两者都是免费的?