#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
во-первых, я новичок в rails. У меня есть project witch с несколькими контроллерами, я добавил новый метод в свой cotroller для получения моих журналов, но после этого rails server отображает ошибку 401. это моя аутентификация
before_action :authenticate_staff, except: %i[webhook public_track tracking_hook]
и это мой метод
def tracking_hook
byebug
Rails.logger.info 'Controller: Tracking, Action: tracking, role: customer, '
"barcodeId #{tracking_params['barcode']}, message: start request"
::TrackingHookWorker.perform_async(tracking_params)
Rails.logger.info 'Controller: Tracking, Action: tracking, role: customer, '
"barcodeId #{tracking_params['barcode']}, message: end request"
render json: {success: true}
rescue StandardError => e
byebug
Rails.logger.error('Controller: Tracking, Action: tracking, role: customer, '
"barcodeId #{tracking_params['barcode']}, message: " e.to_s)
render json: {success: true}
end
моя проблема в том, что до того, как я добавил этот метод в свой проект, все в порядке, но после этого он выдает мне ошибку 401, я использую byebug и нахожу, меняю ли я метод before action на
skip_before_action :authenticate_staff, only: %i[webhook public_track tracking_hook]
все идет нормально. Я не могу понять, что происходит с моим проектом и что мне делать?
извините за мой ужасный английский.
Комментарии:
1. исключение before_action: и только skip_before_action: оба одинаковы при выполнении, можете ли вы показать нам ошибку?
2. я использую postman для проверки своего api, но когда я использую before action, postman говорит, что вы не авторизованы, но когда я использую skip_before_Action, это приводит к моему результату, я не могу понять, что происходит, потому что до того, как я добавил этот метод (перед действием), он работает хорошо, но после этого говорят, что я неавторизован