设置 rails 开发环境
Setting up rails dev env
当我启动一个 rails 应用程序时,我通常会经历相同的过程来设置我的开发环境。添加 pry-byebug
或各种 guard-*
gem,并初始化 Guardfile
.
是否有更好的方法来自动执行此过程?
我想到的一些想法:
- 正在创建将向
Gemfile
、运行、bundle install
和 bundle exec guard init livereload
等添加条目的 rake 任务...
- 创建一个单独的命令行应用程序来生成正确的文件和 运行s 正确的 shell 命令。
还有更简单的方法吗?
您可以使用 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-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
当我启动一个 rails 应用程序时,我通常会经历相同的过程来设置我的开发环境。添加 pry-byebug
或各种 guard-*
gem,并初始化 Guardfile
.
是否有更好的方法来自动执行此过程?
我想到的一些想法:
- 正在创建将向
Gemfile
、运行、bundle install
和bundle exec guard init livereload
等添加条目的 rake 任务... - 创建一个单独的命令行应用程序来生成正确的文件和 运行s 正确的 shell 命令。
还有更简单的方法吗?
您可以使用 here 中描述的模板方法。您创建一个名为 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 repo,它结合了这两种类型,适合在 Mac 上编程,但很容易更改。
有关详细信息,请参阅
使用 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