草庐IT

ruby-on-rails - 运行 rake 任务时如何跳过 Rails 初始值设定项的加载?

我的Rails应用程序有一个网站爬虫,它加载爬虫在config/initializers中的Rails初始值设定项中使用的身份验证凭据。初始化程序通过调用SiteLogin模型中的模型方法来加载身份验证。当我运行rakedb:migrate来创建SiteLogin模型表时,它失败了,因为初始化程序期望数据库表已经存在。我可以简单地注释掉初始化程序中的代码,运行迁移以创建表,然后取消注释初始化程序代码,而不用担心这个问题。问题是,我正在使用Capistrano进行部署,这意味着我必须先在没有初始化代码的情况下进行部署以运行迁移,然后再使用初始化代码进行部署。有没有更好的方法来做到这一点,

ruby - 执行 gem ... ["extconf.rb", ...] 不是文件

我正在尝试围绕C扩展构建一个ruby​​gem。使用rubyextconf.rb可以很好地编译C扩展;制作;sudomakeinstall例程,但是当我尝试使用rake构建gem时,该过程终止并出现此跟踪底部的错误。我正在使用帖子here,具有相同的目录结构,以创建gem。我的配置有什么问题?我的gemspec和Rakefile位于跟踪下方(该gem称为netconf)。//跟踪**Executecopy:netconf:i686-linux:1.9.2install-ctmp/i686-linux/netconf/1.9.2/netconf.solib/netconf/netconf

ruby-on-rails - Ruby on Rails Rake Assets :precompile error

我是Rails开发的新手,这是我第一次部署到Heroku。当我执行我的应用程序时(部署后)出现错误:2011-09-18T21:05:54+00:00app[web.1]:Completed500InternalServerErrorin10ms2011-09-18T21:05:54+00:00app[web.1]:2011-09-18T21:05:54+00:00app[web.1]:ActionView::Template::Error(application.cssisn'tprecompiled):我在谷歌上搜索了一下,发现我必须预编译我的Assets,但在尝试这样做时我发现了

ruby-on-rails - 未定义方法 `accept' 为 nil :NilClass on rake db:migrate

使用ruby​​-1.9.2和rails3.2.1。mysql2的版本是0.2.7。运行rakedb:migrate时出现错误:“nil:NilClass的未定义方法‘accept’:”跟踪包括:gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:7:in`to_sql' 最佳答案 从以下位置更改您的Gemfile:gem'activerecord-mysql2-adapter'到:gem'mysq

ruby - 执行 rake db :migrate on Heroku 时出错

做的时候heroku运行rakedb:migrate所有迁移都已执行,最后我总是收到以下消息:/app/vendor/bundle/ruby/1.9.1/bin/rake:没有这样的文件或目录-pg_dump-i-s-x-O-f/app/db/structure.sqldan79p98fykovu我无法在Heroku上将pg_dump添加到PATH。如何处理? 最佳答案 问题在于,迁移完成后,rails会尝试转储新的structure.sql,但由于pg_dump不存在而失败。为已部署的应用程序生成新的structure.sql毫无

ruby - 如何让 Rake 任务在所有其他任务之后运行? (即 Rake AfterBuild 任务)

我是Rake的新手,并使用它来构建.net项目。我感兴趣的是有一个摘要任务打印出已完成的摘要。我希望这个任务总是被调用,不管rake是用什么任务调用的。有没有简单的方法可以做到这一点?谢谢更新问题,回复Patrick'sanswer我想要的是在所有其他任务之后运行一次的后续任务,所以我想要的输出是:task:test1doputs'test1'endtask:test2doputs'test2'endRake::Task.tasks.eachdo|t|#t.enhancedo#puts'after'#endend$raketest1test1after$raketest2test2af

ruby-on-rails - 邮件错误缺少模板

你好,当我尝试执行操作时,ActionMailer出现问题:rakesend_email我得到一个错误:rakeaborted!ActionView::MissingTemplate:Missingtemplateuser_mailer/mailerwith"mailer".Searchedin:*"user_mailer"这是我的:ma​​ilers/user_mailer.rbclassUserMailerviews/user_mailer/mailer.html.erbSamplemail.views/user_mailer/mailer.text.erbSamplemail.l

ruby-on-rails - 术语 "vendoring"或 "to vendor"对 Ruby on Rails 意味着什么?

例子:“在测试/虚拟中销售Rails应用程序”“为生产销售Rails的推荐方法是什么?” 最佳答案 Vendoring是将所有第3方项目(例如插件、gem甚至rails)移动到/vendor目录中。这是确保的一种方法所有文件都像开发环境一样部署到生产服务器。最好的方法是:rakegems:unpack或者rakerails:freeze:gems使用rake-T查看rake任务的完整列表。 关于ruby-on-rails-术语"vendoring"或"tovendor"对RubyonRa

ruby - 是否有可能获得命名空间中所有可用 rake 任务的列表?

是否有可能从rake任务中获取命名空间中的任务列表?一种程序化的“rake-Tdb”? 最佳答案 我找到了答案:tasks=Rake.application.tasks这将返回一个可以检查的Rake::Task对象数组。更多详细信息,请访问http://rake.rubyforge.org/ 关于ruby-是否有可能获得命名空间中所有可用rake任务的列表?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

ruby-on-rails - 当我运行 `bundle exec rake test:prepare` 时它出错了,但是 `bundle exec rake db:test:prepare` 运行正常但有警告。这是怎么回事?

所以根据thislink一个是快捷方式包装器(所以我猜它们是一样的)。当我运行bundleexecrakedb:test:prepare时,我得到了这个错误:Don'tknowhowtobuildtask'test:prepare'/Users/aj/.rvm/gems/ruby-2.0.0-p451@railstutorial_rails_4_0/bin/ruby_executable_hooks:15:in`eval'/Users/aj/.rvm/gems/ruby-2.0.0-p451@railstutorial_rails_4_0/bin/ruby_executable_hoo