Прежде всего, я полностью осведомлен плохой практики с смешиванием двух.Смешанные attr_accessible и strong_parameters, как пропустить attr_accessible?
У меня есть модель, которая установила attr_accessible
. Я хотел бы начать переход нашего приложения на strong_parameters
. Проблема в том, что мне нужно сделать это по частям, поскольку мы реорганизуем отдельные части приложения. Есть ли способ ActiveRecord, который я могу использовать для обновления атрибутов, минуя attr_accessible
? Или я могу определить тип вещи attr_accessible=false
, который обходит его? Пример
Код:
Модель:
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