Хеш-параметр [: id] before_Action - PullRequest
0 голосов
/ 08 октября 2018

У меня есть маршрут, значение идентификатора зашифровано, что означает, что его нужно расшифровать перед вызовом действия, мой вопрос: как мне получить идентификатор, расшифровать его и установить новый маршрут, используяфильтр before_action, вот что я пробовал контроллер:

before_action :reverse_id, only: :public_download

def reverse_id 
  @swapped_id = params[:id]
  @id = ScatterSwap.reverse_hash(@swapped_id).to_i
  params[:id] = @id

end

def public_download
  //do something
end

это мой маршрут

get "get_score/:id/", to: "controller_name#public_download", as:       :get_score

1 Ответ

0 голосов
/ 08 октября 2018

Этот код не работает.Я получаю тот же идентификатор, который я вставил в URL, а не в расшифрованное значение

К счастью для вас, вам не нужно изменять параметры вообще.Почему бы просто не заменить MyModel.find(params[:id]) на MyModel.find(decrypt(params[:id]))?(где метод decrypt делает только это, расшифровка)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...