我的Rails路由有时会出现未找到错误,并在几秒钟后自行解决。
undefined local variable or method owner_root_path' for #<Owner::SessionsController:0x00007f30408d46f0>
/myapp/app/controllers/owner/sessions_controller.rb:30:increate’
/ruby/2.5.0/gems/actionpack-5.1.6.2/lib/action_controller/metal/basic_implicit_render.rb:4:in send_action'
/ruby/2.5.0/gems/actionpack-5.1.6.2/lib/abstract_controller/base.rb:186:inprocess_action’
字符串
我的路由配置
# routes/owner.rb
Rails.application.routes.draw do
constraints subdomain: /^owner/ do
root to: "owner/top_pages#show", as: :owner_root
...
end
end
# application.rb
config.paths["config/routes.rb"] = %w(
config/routes/owner.rb
config/routes.rb
).map {|relative_path| Rails.root.join(relative_path)}
型
有人知道为什么会这样吗?
2条答案
按热度按时间ru9i0ody1#
Rails 6.1指南介绍了
draw
宏,它可以用来将一个大的路由文件拆分为多个小文件。我不知道你的Rails版本是否支持这个宏。如果不支持,那么你可以很容易地自己定义一个
draw
方法,使用源代码。它将是这样的:字符串
P.S:你一定要看看引入这个方法/宏的the commit。
yfjy0ee72#
我已经解决了我的问题。因为我在我的应用程序上重新加载路由命令时,我添加了一个有效的动态路由,所以有时当应用程序重新加载路由时,它会得到错误。感谢您的支持。