Tag: ruby在轨道 3.2

错误:'rake / rdoctask'已经过时,不再支持。 改用“rdoc / task”(在RDoc 2.4.2+中可用)

似乎这个问题的最后一个post是由于某种原因closures,所以我会尽我的运气… 我试图运行一个简单的“rake db:migrate”命令。 当我这样做的时候,我得到了标题中的错误。 是的,解决scheme“显得”显而易见,但这不是因为我没有Rakefile不包含任何对“rake / rdoctask”的引用。 它似乎来自documentation.rake,但是当我尝试更改该错误所推荐的文件,我得到一个不同的错误。 我发现了几个post宣称这是一个已知的问题,但我没有发现指示如何解决或解决此问题。 有没有人有任何想法如何解决它? 下面是rake命令的输出–trace: $ rake –trace db:migrate rake aborted! ERROR: 'rake/rdoctask' is obsolete and no longer supported. Use 'rdoc/task' (available in RDoc 2.4.2+) instead. C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rdoctask.rb:1:in `<top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks/documentation.rake:2:in `require' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks/documentation.rake:2:in `<top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:15:in `load' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:15:in `block in <top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:6:in `each' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/tasks.rb:6:in `<top (required)>' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:213:in `require' C:/Programs/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application.rb:213:in […]

Rails.cache.clear和rake tmp:cache:clear有什么区别?

这两个命令是否相同? 如果不是,有什么区别?

渲染和渲染部分和产量的区别

我从Rails指南中看过,看了看Micheal Hartel的书,现在从Rails的书中读到它,但我仍然感到困惑:( 有一个_footer.html.erb文件,所以它是一个“部分”,并在它写的代码: <%=render 'layouts/footer' %> 所以我的理解是,当它看到这个,在这里插入页脚文件的HTML。 好吧…现在几页之后,它说: <%= render partial: 'activitiy_items/recent' %> 那么为什么这次我们在这里有“部分”这个词,但是我们之前没有这个词? 还有其他地方我看到<%= yield :sidebar %> 所以这个yield也插入HTML的地方? 那么render在做什么呢? 我希望如果另一个程序员,而不是书籍向我解释这个也许我这次得到它:)

哈默默认

有没有一种方法来configurationrails默认使用哈姆,即当一个脚手架生成时,会产生scaffold_name/index.html.haml而不是scaffold_name/index.html.erb 。 类似于您可以将config.sass.preferred_syntax = :sass添加到config/application.rb并且默认生成scaffold_name.sass 。 尝试添加以下config/application.rb config.generators do |g| g.template_engine :haml end 但与以下结果 $ rails generate scaffold foo name:string invoke active_record create db/migrate/20120208152550_create_foos.rb create app/models/foo.rb invoke test_unit create test/unit/foo_test.rb create test/fixtures/foos.yml route resources :foos invoke scaffold_controller create app/controllers/foos_controller.rb error haml [not found] invoke test_unit create test/functional/foos_controller_test.rb invoke helper create app/helpers/foos_helper.rb invoke test_unit create test/unit/helpers/foos_helper_test.rb […]

使用send_file从Amazon S3下载文件?

我在我的应用程序中有一个下载链接,用户应该能够下载存储在s3上的文件。 这些文件将公布在像这样的url上 https://s3.amazonaws.com/:bucket_name/:path/:to/:file.png 下载链接命中我的控制器中的一个操作: class AttachmentsController < ApplicationController def show @attachment = Attachment.find(params[:id]) send_file(@attachment.file.url, disposition: 'attachment') end end 但是当我尝试下载文件时出现以下错误: ActionController::MissingFile in AttachmentsController#show Cannot read file https://s3.amazonaws.com/:bucket_name/:path/:to/:file.png Rails.root: /Users/user/dev/rails/print Application Trace | Framework Trace | Full Trace app/controllers/attachments_controller.rb:9:in `show' 该文件完全存在,可以在错误消息的url处公开访问。 我如何让用户下载S3文件?

Rails控制器的Ruby帮手方法的位置?

我有一些Ruby方法(或所有)控制器需要。 我试图把它们放在/app/helpers/application_helper.rb 。 我用它来在视图中使用的方法。 但是控制器没有看到这些方法。 是否有另一个地方,我应该把他们或我需要访问这些帮手方法不同? 使用最新的稳定的Rails。

Rails发出警告:“Rack :: File headers参数replaceRack 1.5之后的cache_control”

我最近把我的Rails升级到v3.2。 服务器启动和工作,但我注意到以下警告: Rack::File headers parameter replaces cache_control after Rack 1.5. 在我的development.rb我有以下configurationcaching控制: config.static_cache_control = "public, max-age=36000" 这个警告是什么意思?我该怎么办?

没有提供给Rack :: Session :: Cookie警告的秘密选项?

我运行Rails 3.2.3,Fedora 17下的Ruby 1.9。我得到这个警告,当我运行rails s ,我该如何解决? 安全警告:没有提供给Rack :: Session :: Cookie的秘密选项。 这构成安全威胁。 强烈build议您提供一个秘密,以防止从制作的cookie中获得可能的漏洞利用。 这在Rack的未来版本中将不被支持,未来的版本甚至会使您现有的用户cookies失效。