【发布时间】:2012-06-03 19:28:27
【问题描述】:
我正在尝试实现第一段是配置文件别名或 id 的路由:
resources :profiles, :path => '' do
...
end
而且我需要验证别名尚未被其他(更高)路线的第一段采用。我现在拥有的是:
validates :alias, :exclusion => {:in => Rails.application.routes.routes.map{|r| r.path.spec.to_s.split('(').first.split('/').second}.compact.uniq },
....
在开发中一切正常。在生产中Rails.application.routes.routes.map... 返回空数组。但只有在模型内部验证,如果我把它放在某个地方只是为了测试它会按预期返回所有路线的第一段数组。我做错了什么还是有更好的解决方案?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 validation routes ruby-on-rails-3.2