有没有办法通过命令行将路由添加到 Rails?

Is there a way to add route to Rails by command line?

我是 rails ruby 的初学者。我发现每次向控制器或项目添加新操作或页面时手动将路由添加到 route.rb 非常不便。所以我想知道是否有办法使用命令行而不是编辑 route.rb 文件?

我不知道更新路由的命令行方式,但您可以考虑使用通配符,这样路由文件中的一行就可以让您访问网站上的许多页面:

http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments

使用 sed.

可以轻松实现从终端向 routes.rb 文件添加路由

使用以下命令安装 sed (Ubuntu):

sudo apt get install sed


假设您在应用程序的根目录中,这是添加路由的命令:-

sed -i '23iresources :people' config/routes.rb


这是它的作用:

  1. 要添加文本的文件是 config/routes.rb
  2. 要插入文本的行号是 23
  3. -i 是插入标志:文本将被插入
  4. resources :people 是添加的内容

现在,路由 resources :people 将插入到 config/routes.rb 文件的第 23 行 Rails应用

如果你rails生成-h

rails generate -h                                                                                                                                                  
Please choose a generator below.

Rails:
  assets
  controller
  generator
  helper
  integration_test
  jbuilder
  job
  mailer
  migration
  model
  resource
  scaffold
  scaffold_controller
  task

如您所见,默认情况下没有路由生成器。这是 rails 耗尽魔法的地方之一。当然你可以写你的生成器 Creating and Customizing Rails Generators & Templates.

但我建议,在没有快速默认方式的情况下准备好编写代码。成为专业人士后,您会经常看到 rails 魔术无法实现您正在尝试实施的解决方案。