从 YML 文件设置 rails 重定向

Set rails redirections from YML file

我目前有一个 YML 文件,里面有一堆重定向 URL,遵循简单的语法 old_url: new_url.

当我在我的应用程序上加载此 YML 文件时,我最终得到了键和值的哈希值。

目前,我没有使用这个 YML,我的所有重定向都是手动添加到重定向文件中的,这意味着我有一个非常大的文件,其中包含超过 150 个重定向,遵循以下语法:

get 'old_url', to: redirect('new_url', status: 301)

我想做的是删除所有这些行并使用我的 YML 文件中的“key/value”对。 最好的方法是什么?

我认为这就像在我的重定向文件中迭代我的哈希一样简单,但它似乎不起作用,我不确定这是一种真正干净的方法

非常感谢

以下应该适用于您的 config/routes.rb

redirects = YAML.load_file(Rails.root.join('path/to/redirects.yaml'))
redirects.each do |old, new|
  get old, to: redirect(new, status: 301)
end

请注意,您需要更改路径和文件名以匹配 YAML 文件的路径和文件名。