Я пытаюсь обновить с:
- Ruby 2.2.2
- Rails 5.0.0
- Gemfile.lock
- attr_encrypted (3.1.0)
- шифровальщик (~> 3.0.0)
до
- Ruby 2.6. 5
- Rails 5.2.4.1
- Gemfile.lock
- attr_encrypted (3.1.0)
- шифратор (~> 3.0.0)
и теперь происходит сбой в методах контроллера для полей attr_encrypted
.
У меня есть следующее действие:
def index
respond_to do |format|
format.html do
# make sure that only users who have Organization reading abilities see this page
authorize! :read, Organization
end
if current_user.organization_resource?
params[:organization] = current_user.organization.id
elsif current_user.isv_resource?
params[:isv] = current_user.isv.id
end
format.json do
render json: Organization.paginated_summary(
params[:offset].to_i,
params[:per_page].to_i,
query: params[:query],
isv_id: params[:isv],
organization_id: params[:organization],
tz_cookie: cookies[:tzOffset].blank? ? 'UTC' : cookies[:tzOffset]
)
end
end
end
и происходит сбой с ActiveModel::MissingAttributeError - missing attribute: encrypted_api_token
где api_token
- это поле attr_encrypted и оно не запрашивается в этом запросе
Если я выполняю блок, который обрабатывается
Organization.paginated_summary(
params[:offset].to_i,
params[:per_page].to_i,
query: params[:query],
isv_id: params[:isv],
organization_id: params[:organization],
tz_cookie: cookies[:tzOffset].blank? ? 'UTC' : cookies[:tzOffset]
)
, он работает и возвращает ожидаемое данные. Тем не менее, он не работает, когда render json:
информация, и я не могу отследить ее.
Если я удалю свойство attr_encrypted из поля, то ошибка не будет возвращена.
Есть кто-нибудь сталкивались с такого рода проблемами?
Заранее спасибо!