1

同じことを行う必要があるルートを作成する必要があるとします: 特定の URL にリダイレクトし、params をいくつか置き換えます。

get '/santitizer', to: redirect {|path_params, req| "/new_url/#{URI.encode(req[:my_param].gsub('.', ' '))}}"}
get '/old_santitizer', to: redirect {|path_params, req| "/new_url/#{URI.encode(req[:my_param].gsub('.', ' '))}}"}

DRYを適用し、同じコードを2回使用するのではなく、ヘルパーメソッドを使用してこのようなことをしたい

get '/santitizer', to: redirect {|path_params, req| santitize_helper(path_params, req)}
get '/old_santitizer', to: redirect {|path_params, req| santitize_helper(path_params, req)}

...

def santitize_helper(path_params, req)
  "/new_url/#{URI.encode(req[:my_param].gsub('.', ' '))}}"
end

出来ますか?

4

0 に答える 0