草庐IT

ruby-on-rails - Rails 3 和 Heroku : automatically "rake db:migrate" on push?

我对我的heroku推送/部署过程有点烦恼,否则发现和使用它是一种乐趣。如果我向我的应用程序添加一个新的迁移,我可以将其上传到heroku服务器的唯一方法是推送到heroku远程。这将上传它并重新启动应用程序。但它不运行迁移,所以我必须执行herokurakedb:migrate--appmyapp,然后herokurestart--appmyapp。与此同时,该应用程序已损坏,因为它尚未运行迁移并且代码引用了迁移中的字段/表等。必须有一种方法可以更改部署过程以在部署过程中自动运行rakedb:migrate,但我无法解决。这是我在herokucpanel中设置的东西吗?这是我从命令行

ruby - 用于在独立线程中运行服务器然后在任务完成时终止线程的 Rake 任务?

如何在rake任务中启动一个线程,然后在任务完成时终止线程。本质上,我正在编写一个rake任务来测试一个jekyll站点。我希望能够启动服务器,执行一些其他任务,然后在任务完成时销毁线程。这是我到目前为止所拥有的:task:test_sitedo`ejekyll--server``git-Xdn`ifagree("Cleanallignoredfiles?")git-Xdfendend但不幸的是,我知道停止jekyll--server的唯一方法是使用ctrlc。我很高兴听到在庄园中停止jekyll--server的方法,它不会退出rake任务,但请发表评论,因为这个问题专门询问线程和r

ruby-on-rails - 部署到 heroku 时 rake 中止找不到文件 twitter/bootstrap

我正在尝试部署一个在开发中运行良好的应用程序,但是当我使用$gitpushherokumaster将它推送到heroku时,rakeassets:precompile失败,因为“找不到文件twitter/bootstrap”。(application.js引发的错误)我已经用谷歌搜索了这个问题并找到了各种各样的答案,但这些都不适合我:Herokudeployfailsafterupgradingtobootstrap2.0.1viatwitter-bootstrap-railsgemCouldn'tfindfile'twitter/bootstrap'inProductionRails

ruby - 为新 gem 加载 rake 任务的路径是什么

我尝试使用bundler创建一个新的ruby​​gem,并打算从ruby​​gem文件夹~/work/bezier/lib/task/加载rake任务。但是pwd好像在/Users/wizztjh/work/bezier_server,请问新gem加载rake任务的路径是什么?我的ruby​​gem文件夹bezier/lib/railtie.rb/task/get_transitions.rakepry动From:/Users/wizztjh/work/bezier/lib/bezier/railtie.rb@line4:1:moduleBezier2:classRailtie4:bi

ruby-on-rails - rake spec 在 specs 之后运行测试

当我在我的Rails项目中运行rakespec时,它会执行所有规范,然后尝试运行测试(如raketest):$rakespecruby-Srspec./spec/...#filelist#-->...normalRSpecoutputFinishedin11.11seconds111examples,0failures,11pending#-->herestartstheproblem你知道吗,为什么它会尝试运行Test::Unit测试,即使我没有这些测试?(我什至没有test/目录)编辑:当我运行其他rake命令时,它们完成了它们的工作,但随后以错误结束,例如:$rakeaboutA

ruby - 运行 rake 时缺少 gem

我将rbenv与Ruby1.9.2-p290、Rails3.1一起使用,数据库是MySQL。当我尝试rakedb:create我收到以下错误:Couldnotfindmulti_json-1.0.3inanyofthesources我也尝试过bundleexecrakedb:create。我的GemFile看起来像这样:source'http://rubygems.org'gem'rails','3.1.0'gem'mysql2'gem'json'group:assetsdogem'sass-rails',"~>3.1.0"gem'coffee-rails',"~>3.1.0"gem'

ruby-on-rails - rake db :create 问题

我认为这是一个常见问题,但我已经尝试过我在其他几篇文章中读到的内容,但我遇到了同样的命运。我正在使用rbenv,因为这是我首先遇到的。rakedb:create/Users/cmunger/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/connection_specification.rb:177:in`rescueinspec'/Users/cmunger/.rbenv/versions/2.2.3/lib/ruby/gem

ruby-on-rails - rake 测试无法识别测试文件夹中的新文件夹

当我运行raketest时,它不会在我创建的新文件夹中运行测试。默认情况下,Rails在测试文件夹中有这个文件夹:当我运行测试时,即raketest,它会测试测试文件夹的内容。我在测试文件夹中添加了一个api文件夹。当我这样做时,api文件夹的内容被测试:raketest:runTEST=test/api/users_test.rb但是,当我只是做raketest时,它不会测试api文件夹的内容。如何配置? 最佳答案 raketest:all应该在测试文件夹的子目录中运行所有测试,甚至是非默认的。如果你想做一个raketest:ap

ruby-on-rails - rake 数据库 :seed doesn't work

我正在为项目使用hstore,并且我有一个迁移文件:classCreateShippingCategories默认情况下,我有4种类型的类别,我决定像这样在seeds.rb文件中创建它们:shipping_categories=[["Small",{L:40,B:30,H:22},700,100],["Medium",{L:60,B:40,H:32},900,400],["Large",{L:60,B:52,H:140}],["XXLarge",{L:200,B:50,H:200}]]shipping_categories.eachdo|name,size,price_transpor

ruby - rake 文件中未定义的方法

我收到错误NoMethodError:undefinedmethod`symfony_console'我在rake文件中定义的任务(lib/capistrano/tasks/my_tasks.rake)task:migratedoonroles(:all)dosymfony_console('doctrine:migrations:migrate','--no-interaction')endendsymfony_console方法由capistrano/symfony扩展提供。顶文件:require'capistrano/setup'require'capistrano/deploy