0
首先,我是充分了解的不良做法與混合兩者。混合attr_accessible和strong_parameters,如何跳過attr_accessible?
我有一個模型,有attr_accessible
設置。我想開始將我們的應用程序轉換爲strong_parameters
。問題是,我們需要在我們重構應用程序的各個部分時做這樣的零碎工作。是否有ActiveRecord方法可以用來更新繞過attr_accessible
的屬性?或者我能否定義一種繞過它的東西類型?
代碼示例:
型號:
class User < ActiveRecord::Base
attr_accessible :first_name, :last_name, :email, :password
end
控制器:
class UsersController < ApplicationController
before_action :set_user
def update
@user.assign_attributes(user_params)
@user.save!
end
private
def set_user
@user = User.find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def user_params
params.require(:user).permit(
:first_name, :last_name, :email, :other_attribute_not_in_accessible
)
end
end