设置 rails 开发环境

Setting up rails dev env

当我启动一个 rails 应用程序时,我通常会经历相同的过程来设置我的开发环境。添加 pry-byebug 或各种 guard-* gem,并初始化 Guardfile.

是否有更好的方法来自动执行此过程?

我想到的一些想法:

还有更简单的方法吗?

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

创建一个新的 rails 应用程序
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 repo,它结合了这两种类型,适合在 Mac 上编程,但很容易更改。

有关详细信息,请参阅

使用 rails application templates 是一个很好的选择。

例如,如果你想起床 运行 guard-livereloadpry-byebug 并快速搭建一个 Post 资源,那么下面的应用程序模板(它只是一个ruby 文件)保存在 ~/sandboxy.rb 中可以工作:

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