Setting up rails dev env



当我启动一个rails应用程序时,我通常会经历设置dev env的相同过程。添加pry-byebug或各种guard-*宝石,并初始化Guardfile

有没有更好的方法来自动化这个过程?

我想到的一些想法:

  • 创建将条目添加到Gemfile、运行bundle installbundle exec guard init livereload等的耙子任务......
  • 创建一个单独的命令行应用,用于生成正确的文件并运行正确的 shell 命令。

有没有其他更简单的方法?

您可以使用此处描述的模板方法。创建一个名为 template.rb 的文件,其中包含所需的 gem 和命令。然后,使用

rails new blog -m ~/template.rb

示例template.rb

generate(:scaffold, "person name:string")
route "root to: 'people#index'"
rails_command("db:migrate")
after_bundle do
  git :init
  git add: "."
  git commit: %Q{ -m 'Initial commit' }
end

我发现另一种更容易的方法是维护一个 github 存储库,其中包含您在裸露的 Rails 应用程序中想要的所有内容。然后,当您要创建新应用程序时,只需将其git pull到文件夹中即可。您唯一需要覆盖的是应用程序的名称application.rb

这是 github 存储库,它是两者的结合,它面向 Mac 上的编程,但很容易更改。

有关更多信息,请参阅冰人的答案。

使用 rails 应用程序模板是一个不错的选择。

例如,如果要启动并运行guard-livereloadpry-byebug并快速搭建Post资源基架,则保存在~/sandboxy.rb中的以下应用程序模板(它只是一个 ruby 文件(将起作用:

gem_group :development do
  gem 'pry-byebug'
  gem 'guard-livereload'
end

run 'bundle exec guard init livereload'
after_bundle do
  git :init
  git add: "."
  git commit: %Q{ -m 'Initial commit' }
end
generate(:scaffold, "post title body:text")
route "root to: 'posts#index'"
rails_command("db:migrate")
git add: '.'
git commit: %Q{ -m 'Scaffold a post' }

然后,您可以使用以下命令生成新应用:

rails new some_app -m ~/sandbox.rb

最新更新