【发布时间】:2016-06-28 20:46:32
【问题描述】:
我正在为我的数据库中的记录创建名称更改历史记录。因此,如果有人更改了他们拥有的东西的名称,旧的 URLS 仍然有效。
我正在尝试这样的事情:
get '/:id', to: "services#show", as: 'show_service', constraints: lambda {|request|
urls = ['a', 'b', 'c']
if urls.include? params[:id]
puts "Yep - this works."
return redirect latest_url
else
# Nothing matches, this service doesn't exist.
return false
end
}
这条路线的两种完成方式:
WORKING:它什么也没找到并返回 false,因此路由执行顺序继续向下。
不工作:它找到一些东西并重定向到路由历史中的最新名称。
返回重定向 latest_url 根本没有重定向 - 有什么建议吗?
【问题讨论】:
标签: ruby-on-rails url redirect routing routes