哈希参数[:id] before_Action



我有一个路由,id的值是加密的,这意味着在调用操作之前必须对其进行解密,我的问题是我如何获取id,解密它并使用before_action过滤器将新id设置为路由,以下是我尝试过的 控制器:

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

此代码不起作用。我得到的id与我放入url中的id相同,而不是解密的值

幸运的是,您根本不需要变异参数。为什么不简单地用MyModel.find(decrypt(params[:id]))替换MyModel.find(params[:id])呢?(其中decrypt方法只做解密(

最新更新