从 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 文件的路径和文件名。
我目前有一个 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 文件的路径和文件名。