Tag: rake

机械化Ruby 1.9.3编码问题

使用以下代码(来自Mechanize站点,但在rake任务中).. namespace :ans do task :grab => :environment do a = Mechanize.new { |agent| agent.user_agent_alias = ‘Mac Safari’ } begin a.get(‘http://google.com/’) do |page| search_result = page.form_with(:name => ‘f’) do |search| search.q = ‘Hello world’ end.submit search_result.links.each do |link| puts link.text end end end end end 我收到编码错误.. rake aborted! “\x8B” from ASCII-8BIT to UTF-8 这是在使用以下内容时: Rails […]

从rake任务渲染视图

我正在尝试从rake任务发送邮件。 我已经设法发送电子邮件,但问题是我发送的文件。 我想发送一个视图,每次发送邮件时都会修改。 我已经安装了gem render_anywhere来渲染我的rake任务中的视图但是我一直有这个错误: NoMethodError:字符串的未定义方法`formats’:0x007ff1a1068b88> 这是我的rake任务的一部分,应该做的工作: require’grand_anywhere’包括RenderAnywhere需要Rails.root.join(’app’,’helpers’,’reports_helper’) namespace:reports do desc’将视图写入文件的示例’任务:example =>:environment do class RakeActionView Report.first ) html = view.render(:template =>”#{Rails.root}/app/views/reports/organize.html.erb”, layout: false) pdf = PDFKit.new(html) pdf.stylesheets << "#{Rails.root}/app/assets/stylesheets/print/reports-print.css.scss"

耙资产:预编译找不到ruby

我正在建立一个Ruby on Rails生产环境。 我正在使用RVM的多用户安装。 运行rake资产时:预编译我收到以下错误。 其他rake任务似乎工作正常。 ruby@myserver:/sites/rails/necura_staging/shared/cached-copy$ bundle exec rake assets:precompile –trace ** Invoke assets:precompile (first_time) ** Execute assets:precompile /usr/local/rvm/rubies/ruby-1.9.3-p448/bin/ruby ruby /usr/local/rvm/gems/ruby-1.9.3-p448@global/bin/rake assets:precompile –trace assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets –trace /usr/local/rvm/rubies/ruby-1.9.3-p448/bin/ruby: No such file or directory — ruby /usr/local/rvm/gems/ruby-1.9.3-p448@global/bin/rake assets:precompile –trace (LoadError) rake aborted! Command failed with status (1): [/usr/local/rvm/rubies/ruby-1.9.3-p448/bin/…] /usr/local/rvm/gems/ruby-1.9.3-p448@global/gems/rake-10.1.0/lib/rake/file_utils.rb:55:in `block in create_shell_runner’ /usr/local/rvm/gems/ruby-1.9.3-p448@global/gems/rake-10.1.0/lib/rake/file_utils.rb:45:in `call’ /usr/local/rvm/gems/ruby-1.9.3-p448@global/gems/rake-10.1.0/lib/rake/file_utils.rb:45:in […]

耙子流产了! 操作不被允许 – Carrierwave删除validation失败的tmp文件

我正在使用Carrierwave,s3和fog来上传video。 我添加了一个file_size_validator文件,以便video不能大于5mb。 我对Carrierwave如何工作的理解(请告知是否不正确)。 Carrierwave将文件的副本保存到tmp文件文件夹,然后对其执行validation,如果通过则将文件上传到S3,下面的代码将从本地文件系统中删除tmp文件: video_uploader.rb before :store, :remember_cache_id after :store, :delete_tmp_dir def cache_dir Rails.root.join(‘public/uploads/tmp/videos’) end # store! nil’s the cache_id after it finishes so we need to remember it for deletion def remember_cache_id(new_file) @cache_id_was = cache_id end def delete_tmp_dir(new_file) # make sure we don’t delete other things accidentally by checking the name pattern if @cache_id_was.present? […]

有关使用gsub的任何建议吗? 在irb控制台中工作正常,但不会在实际文件中查找/替换

我有一些webapp的基本框架(一些静态页面,用户身份validation,使用rpec进行基本测试)。 我想将此作为未来webapps的基础。 我把我的项目命名为“框架”,所以如果我把它分开,我将会有大约十几个实例,我必须用我正在创建的新应用程序的名称替换术语“Framework”。 这个项目是github.com/bnd5k/framework 。 README文件包含我需要进行更改的文件列表。 我可以手工完成这些更改,但我更愿意自动执行此过程。 我认为最简单的方法是在Framework中包含一个rake文件。 所以,我创建了名为renamer.rake的rake文件。 我的rake文件基于这篇文章: 如何在文件文本中搜索模式并将其替换为给定值 。 这就是我想出的。 task :rename do file_names = [‘config/environments/test.rb’, ‘config/environments/production.rb’, ‘config/environment.rb’] file_names.each do |file_name| text = File.read(file_name) puts text.gsub(“Framework”, “funktrunkgunk”) end end 这段代码的工作原理是它用不同的术语替换术语“框架”,但它只能在控制台中使用。 我需要它来实际更改文件的内容。 我需要做什么? 我是否需要打开每个文件而不是只读它? 仅供参考这个代码只列出了几个文件(这样我就可以测试这个方法是否有效),替换术语最终将是一个变量,而不是“funktrunkgunk”。 一旦我得到这个部分,我想设置它,以便任何人都可以克隆框架repo到他们的机器,cd到框架目录,启动rails服务器,然后转到他们的浏览器上的本地主机重命名该文件那里。 我将public / index.html设置为包含表单字段的基本页面,用户可以在其中输入自己的应用程序名称。 一旦用户单击“名称应用程序”按钮,它将运行rake文件。 这听起来可行吗?

耙子流产了! ArgumentError:相同的文件:

当我尝试在cloud66上部署我的rails应用程序时,我收到此错误: rake aborted! ArgumentError: same file: /var/deploy/website/web_head/releases/20150315170454/public/assets/tinymce/custom_content.css and /var/deploy/website/web_head/releases/20150315170454/public/assets/tinymce/custom_content.css Tasks: TOP => assets:precompile 有人可以解释为什么我会收到此错误? 怎么解决?

无法启动Rails服务器

我正在研究Ubuntu 10.04 LTS,Lucid Lynx,已经安装了Ruby on Rails 3。 我无法启动Rails服务器。 我收到以下错误。 mah@mah-laptop:~/Desktop/projects/ver$ rails s /home/mah/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.8/lib/rails/commands.rb:29:in `block in ‘: undefined method `root’ for nil:NilClass (NoMethodError) from /home/mah/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.8/lib/rails/commands.rb:27:in `tap’ from /home/mah/.rvm/gems/ruby-1.9.2-p0/gems/railties-3.0.8/lib/rails/commands.rb:27:in `’ from script/rails:6:in `require’ from script/rails:6:in `’ 我正在使用Rails 3.0.8和rake版本0.8.7 我尝试bundle exec但得到了同样的错误。 在此先感谢您的帮助 UPDATE 这是我在bundle exec rake db:migrate –trace mah@mah-laptop:~/Desktop/projects/ver$ bundle exec rake db:migrate –trace rake aborted! uninitialized constant […]

如何两次调用rake目标

我通过修改.csproj文件以包含额外的编译符号,从我的.sln生成两组不同的DLL文件。 我正在使用rake构建解决方案,并具有以下构建任务: #========================================================== desc “Builds the DPSF.sln in Release mode.” msbuild :Build do |msb| puts ‘Building the DPSF solution…’ msb.properties :configuration => :Release msb.targets [:Clean, :Rebuild] msb.solution = DPSF_SOLUTION_FILE_PATH msb.parameters “/nologo”, “/maxcpucount”, “/fileLogger”, “/noconsolelogger” msb.verbosity = “quiet” # Use “diagnostic” instead of “quiet” for troubleshooting build problems. # Delete the build log file if the […]

错误:“找不到耙子”,但安装了Rake

为什么我收到此Rake错误: $ rake –version /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs’: Could not find rake (>= 0) amongst [] (Gem::LoadError) from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec’ from /Volumes/Data/sampablokuper/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem’ from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake:18:in `’ from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval’ from /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `’ 鉴于以下情况: $ gem list *** LOCAL GEMS *** bundler (1.1.3) rake (0.9.2.2) rubygems-bundler (1.0.2) rvm (1.11.3.3) $ which rake /Volumes/Data/sampablokuper/.rvm/gems/ruby-1.9.3-p194/bin/rake 具体来说:这个错误消息源于一个错误 ,还是一个配置问题 (如果是后者,那么哪些步骤可以解决它)? 更新:按要求提供额外的终端输出: $ […]

如何使rake测试不使用默认的minitest?

我正在关注RubyGems的Make your own Gem Guide。 执行rake test指令失败如下: > rake test ~/.rbenv/versions/2.1.2/lib/ruby/2.1.0/minitest/unit.rb:26:in `const_missing’: uninitialized constant MiniTest::Test (NameError) 我认为这是因为使用的最小版本是4.7.5而不是5.6.0 (或者使MiniTest::Test有效所需的任何5.0.0系列)。 所以我安装了minitest 5.6.0 ,现在我有两个版本的minitest 。 但是rake test仍然只使用4.7.5版本。 我如何制作它以便运行rake test在指南的设置中使用正确的minitest ? 直接使用ruby工作: > ruby -Ilib test/test_hola.rb Run options: –seed 48777 # Running: … Finished in 0.002862s, 1048.3550 runs/s, 1048.3550 assertions/s. 3 runs, 3 assertions, 0 failures, 0 errors, 0 […]