当我开始使用rails应用程序时,我通常会经历设置dev开发环境的相同过程。添加pry-byebug
或各种guard-*
宝石,并初始化Guardfile
。
有没有更好的方法来自动化这个过程?
我想到的一些想法:
Gemfile
添加条目的rake任务,运行bundle install
和bundle exec guard init livereload
等...... 还有另一种更简单的方法吗?
答案 0 :(得分:1)
您可以使用here所述的模板方法。您创建一个名为template.rb
的文件,其中包含您所需的宝石和命令。然后使用
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上进行编程但很容易更改。
答案 1 :(得分:1)
有关详细信息,请参阅Iceman's answer。
使用rails application templates是一个不错的选择。
例如,如果您希望启动并运行guard-livereload
和pry-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