我有一个全新的Rails 6应用程序,config/routes.rb
中没有 * 任何东西 *,bin/rails routes
的输出有一个巨大的列表,其中包含ActiveStorage、Action Mailbox和导体的非常长的URL。
这使得bin/rails routes
作为一种文档形式完全无用,特别是因为bin/rails routes
的选项不允许过滤 * 出 * 内容。
我不想省略Rails的这些部分,因为我可能需要它们,但我希望这些路由a)如果我不使用它们,就不存在; b)不在bin/rails routes
中显示。
有人知道怎么用吗?
2条答案
按热度按时间4uqofj5v1#
从Rails www.example.com开始6.0.2.1,这就是实现它的方法:
在
config/application.rb
中,删除行require "rails/all"
并将其替换为:请注意,如果您保留actiontext,您仍然会得到一些活动存储路由包括在内。不知道为什么。这种配置基本上意味着您不能使用活动存储,操作文本,或操作邮箱。将这些带回将带回许多路由您永远不会需要。
还要注意,这个解决方案有一个使用成本,因为每次升级Rails版本时,您都必须检查
rails/all.rb
,以确保没有添加您可能关心的新框架(或删除您不再需要的新框架)。config/environments/*.rb
中的文件中删除对活动存储的引用rt4zxlrg2#
您可以通过注解掉
application.rb
中的特定require行来省略ActionMailbox路由。具体来说,如果您注解
require "action_mailbox/engine"
行,您将不再看到任何/rails/action_mailbox
或/rails/conductor/action_mailbox
路由。你需要重新启动应用才能使更改生效。