Tag: ruby

在一个jekyll博客中支持标签的简单方法

我正在使用标准的jekyll安装来维护一个博客,一切都很顺利。 除了我真的想标记我的post。 我可以使用YAML前端事件来标记post,但是如何为每个标签生成页面,以便列出标签的所有post?

Ruby on Rails 3:通过Rails将数据stream式传输到客户端

我正在开发与RackSpace云文件(类似于Amazon S3,但缺less某些function)的Ruby on Rails应用程序。 由于缺乏每个对象访问权限和查询stringauthentication的可用性,下载给用户必须通过应用程序进行调解。 在Rails 2.3中,它看起来像你可以dynamic构build一个响应,如下所示: # Streams about 180 MB of generated data to the browser. render :text => proc { |response, output| 10_000_000.times do |i| output.write("This is line #{i}\n") end } (来自http://api.rubyonrails.org/classes/ActionController/Base.html#M000464 ) 而不是10_000_000.times…我可以转储我的cloudfilesstream生成代码在那里。 麻烦的是,这是当我尝试在Rails 3中使用这种技术时得到的输出。 #<Proc:0x000000010989a6e8@/Users/jderiksen/lt/lt-uber/site/app/controllers/prospect_uploads_controller.rb:75> 看起来也许proc对象的call方法不被调用? 任何其他的想法?

Rails 3:获取随机logging

所以,我发现了几个在Rails 2中find随机logging的例子 – 首选的方法似乎是: Thing.find :first, :offset => rand(Thing.count) 作为一个新手的东西,我不知道这是如何使用Rails 3中的新的查找语法来构build的。 那么,什么是“Rails 3 Way”来find随机logging呢?

使用rspec-railstestingfile upload

我想testing一个file upload在rails中,但不知道如何做到这一点。 这里是控制器代码: def uploadLicense #Create the license object @license = License.create(params[:license]) #Get Session ID sessid = session[:session_id] puts "\n\nSession_id:\n#{sessid}\n" #Generate a random string chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a newpass = "" 1.upto(5) { |i| newpass << chars[rand(chars.size-1)] } #Get the original file name upload=params[:upload] name = upload['datafile'].original_filename @license.format = File.extname(name) #calculate license […]

为什么Ruby有私有和受保护的方法?

在阅读本文之前,我认为Ruby中的访问控制是这样工作的: public – 可以被任何对象访问(例如Obj.new.public_method ) protected – 只能从对象本身以及任何子类访问 private – 与保护一样,但该方法不存在于子类中 然而,看起来, protected和private行为是相同的,除了你不能用一个明确的接收者调用private方法(即self.protected_method工作,但self.private_method不)。 这是什么意思? 什么时候有一种情况,当你不希望你的方法调用一个明确的接收器?

Rails has_many:通过连接模型中的额外属性查找

Ruby和Rails都是新手,但现在我已经受过教育(这显然意味着什么,哈哈)。 我有两个模型,事件和用户通过表EventUserjoin class User < ActiveRecord::Base has_many :event_users has_many :events, :through => :event_users end class EventUser < ActiveRecord::Base belongs_to :event belongs_to :user #For clarity's sake, EventUser also has a boolean column "active", among others end class Event < ActiveRecord::Base has_many :event_users has_many :users, :through => :event_users end 这个项目是一个日历,在这个日历中,我必须跟踪注册的人,并为特定事件抓取他们的名字。 我认为多对多是一个好方法,但我不能这样做: u = User.find :first active_events = […]

如何解决错误“”生产环境“中缺less`secret_key_base`(Rails 4.1)

我从零开始创build了一个Rails应用程序(Rails 4.1),并且面临着一个我无法解决的奇怪问题。 每当我尝试在Heroku上部署我的应用程序时,都会收到错误500: 缺less'生产'环境的secret_key_base ,请在config/secrets.yml secret_key_base中设置此值 secret.yml文件包含以下configuration: secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 在Heroku上,我用“rake secret”命令的结果configuration了一个环境variables“SECRET_KEY_BASE”。 如果我启动“herokuconfiguration”,我可以看到具有正确名称和值的variables。 为什么我仍然得到这个错误? 非常感谢

rubyinheritancevs mixin

在Ruby中,由于可以包含多个mixin,但只能扩展一个类,所以mixin似乎比inheritance更受欢迎。 我的问题:如果你正在编写必须扩展/包含的代码,那么为什么你要把它变成一个类? 换句话说,你为什么不把它做成一个模块呢? 我只能想到你想要一个类的一个原因,那就是如果你需要实例化类。 但是,在ActiveRecord :: Base的情况下,你不能直接实例化它。 所以不应该是一个模块呢?

禁用Rails的ActiveRecord 4

我想在Rails 4中禁用ActiveRecord。我在config/application.rb做了以下操作 require File.expand_path('../boot', __FILE__) # require 'rails/all' — commented require "action_controller/railtie" require "action_mailer/railtie" #require "active_resource/railtie" no need #require "rails/test_unit/railtie" no need #require "sprockets/railtie" no need # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. Bundler.require(:default, Rails.env) module MyApp class Application < Rails::Application config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement" end […]

%w(数组)是什么意思?

我正在查看FileUtils的文档。 我很困惑以下行: FileUtils.cp %w(cgi.rb complex.rb date.rb), '/usr/lib/ruby/1.6' %w是什么意思? 你能指点我的文档吗?