rails route vs rake routes

时间:2017-06-27 05:25:30

标签: ruby-on-rails routes

  • rails routesrake routes之间有什么区别吗?
  • 如果它们相同,为什么有两种方式?
  • 添加bundle exec是否重要?

1 个答案:

答案 0 :(得分:2)

rake routesrails routes等效地显示您应用中的所有路线。

在Rails> = 5中,您可以使用rails routesrake routes(以前的首选),但在Rails< 5,您只能使用rake routes

Rails核心团队决定通过启用rails命令来支持rake所做的一切。

例如在Rails 5命令中,如db:migrate,setup,test等,它们是Rails 4中rake命令的一部分,现在由rails命令支持。但是,您仍然可以选择使用rake运行这些命令,类似于它们在Rails 4中的运行方式。这是因为Rails社区引入了Rake Proxy,而不是将命令选项从rake完全移动到rails。

内部发生的是当执行rails db:migrate命令时,Rails会检查db:migrate是否是rails本身支持的内容。在这种情况下,rails本身不支持db:migrate,因此Rails通过Rake Proxy将执行委托给Rake。

如果你想在Rails 5中看到rails支持的所有命令,那么你可以通过执行rails --help获得一长串选项。