【发布时间】:2020-09-07 20:24:55
【问题描述】:
我正在尝试收集所有 Rails 路由,并转储它们的 named_route、path 和 constraint(如果有的话)。
我能够获得named_route、path,但我正在尝试找到一种方法来获得constraint 的路线。
routes = Rails.application.routes.routes.map do |route|
path = route.path.spec.to_s.gsub!("(.:format)", '')
# route.constraints always output {} ??
puts route.constraints
name = route.name
[name, path]
end.to_h
这是一个路线的例子..
USER_NAME_PATTERN ||= /@[a-z0-9][-a-z0-9]+/
get ":username/:slug", to: 'calcs#show', as: :user_calc , constraints: {username: USER_NAME_PATTERN }
如何以编程方式获取 Rails Routes 约束?
【问题讨论】:
标签: ruby-on-rails routes