导轨:3.2.11
我有这个模块,lib
并且在application.rb
. 我想FORBIDDEN_USERNAMES
在整个应用程序中提供常量。常量是从路由生成的值数组。我无法将其设为初始化程序,因为尚未加载路由。
我下面的内容不起作用,因为FORBIDDEN_USERNAMES
返回一个空数组。
# in lib
module ForbiddenUsernames
def self.names
Rails.application.reload_routes!
all_routes = Rails.application.routes.routes
all_names = Array.new
all_routes.each do |route|
# populate all_names array
end
all_names.uniq
end
end
FORBIDDEN_USERNAMES = ForbiddenUsernames.names
# when ForbiddenUsernames.names is called by itself, it does not return [] or nil
在整个应用程序中,我如何制作它以便我可以使用FORBIDDEN_USERNAMES
?谢谢!