如何正确写入CSV文件

我正在使用ruby 1.9.2并且还使用它的csv库。我想正确编写csv 像这样 name,country_code,destination,code Afghanistan,93,Bamain,51 Afghanistan,93,Bamain,52 Afghanistan,93,Bamain,53 Afghanistan,93,Parwan,91 我的代码是这样的 def export_data @coun = Country.all(:limit => 10) header = “name,country_code,destination,code” file = “my_file.csv” File.open(file, “w”) do |csv| csv << header @coun.each do |c| csv << [c.name, c.country_code, c.user_id, c.subscriber_id] # How puts line break here end end send_file(file) end 我上面提到了如何把我的行放在CSV文件中,并省略了这个叹息 用CSV“[]”覆盖每一行 Like [“Finland”,1,1,2334] 提前致谢..

在instance_eval / exec或module_eval / exec中的Module.nesting

当我试图回答这个问题时,我提出了这个问题。 以下是预期的行为: module A p Module.nesting end # => [A] 但以下内容: A.instance_eval{p Module.nesting} A.instance_exec{p Module.nesting} A.module_eval{p Module.nesting} A.module_exec{p Module.nesting} 全部归还[] 。 为什么这些不能像上面这样工作? 补充问题 穆太短表示一个有趣的观点。 如果这是正确的,那么Module.nesting将是依赖于文字上下文的方法和变量之一,如Method#source_location , __FILE__ 。 这种理解是否正确? 如果是这样,有人可以提供依赖于文字上下文的这些方法/变量的清单吗? 我认为这对参考有用。

Ruby – 使用更新的gem内容创建gem:reload console

根据这篇文章 ,我们可以通过将这些行添加到我们的rakefile来测试我们的gem代码: task :console do require ‘irb’ require ‘irb/completion’ require ‘my_gem’ # You know what to do. ARGV.clear IRB.start end 它工作得非常好,除了每当对gem进行更改时,我需要exit并重新运行rake console以更新代码。 作为创建/调试工具真的不方便…… 有没有办法编写一个自定义方法,可以充当真棒reload! Rails的方法? bash脚本不能正常工作,因为第一个命令在Ruby控制台中,我宁愿拥有100%的ruby解决方案。 谢谢!

在Rails 3.1中强制SSL用于特定路由

我需要在我的应用程序中的所有路由上强制使用SSL,除了landing#index 。 在config/application.rb ,我有: config.force_ssl = true 然后在landing_controller.rb ,我有: force_ssl :except => :index 但是,所有路由仍然被重定向到https 。 有谁知道如何在Rails 3.1+应用程序中有条件地强制SSL? 解: 将以下内容添加到Gemfile : gem ‘rack-ssl-enforcer’ 将以下内容添加到config/application.rb : config.middleware.use Rack::SslEnforcer, :except => [ /\/$/ ], :strict => true

Ruby:空白? 没有Rails

我想要这个测试: if (line.blank?) do_stuff …但我是直的ruby,而不是铁轨。 实现同样效果的公认成语是什么? 我正在为一个字符串做这个,测试.empty? 与测试.blank不一样? (所有空白字符串不为空,但为空。)

Ruby中定义的关键字在哪里?

我正在查看Ruby文档,我想知道如果一切都是对象,那么’关键字’也是对象,对吗? 如果是这样,他们在ruby中定义了什么? 下面的页面让我很困惑,因为它显示了包含所有关键字的对象,但是这不是所有类使用的官方对象,这是不是从不同的类中混合了? http://ruby-doc.org/docs/keywords/1.9/Object.html 我猜上面有很多问题,主要的问题是:ruby关键字如何进入ruby?

给定有序的id列表对对象数组进行排序

我有一个@users对象集合,每个对象都有id属性。 @users = [#, #] 我也有一个有序的ids数组。 ids = [2,1] ¿是否有一种使用该ID列表对集合进行排序的神奇方法? 如果可能的话,不要再次调用数据库。 谢谢 !!!

防止Nokogiri逃脱角色?

我创建了一个文本节点并插入到我的文档中,如下所示: #<Nokogiri::XML::Text:0x3fcce081481c "”>]> 当我尝试使用以下方法保存文档时: File.open(‘ng.html’, ‘w+’){|f| f << page.to_html} 我在实际文档中得到了这个: <%= stylesheet_link_tag ‘style’%> 有没有办法禁用转义并保存我的页面与我的erb标签完好无损? 谢谢!

使用带远程的ajax的Ruby表单:true给出了ActionController :: InvalidAuthenticityToken错误。 经典提交没有

我正在为一个RoR网站写一个聊天页面。 我已经完成了所有HTML和我试图用ajax实现它。 有一个提交消息的表单。 表单标签读取 true) do |f| %> true) do |f| %> 我的整个观点: Battleriskopoloy – Communications [ . . . Communications . . . ] “select”, :method => :get %> true) do |f| %> 控制器: class ChatsController < ApplicationController $messeges = Array.new(10, " ") def new $messeges = Array.new if $ruser != nil $messeges = […]

在Ruby中识别方法的#约定的基本原理/历史是什么?

例如,我总是看到称为String#split ,但从来没有看过String.split ,这似乎更符合逻辑。 或者甚至可能是String::split ,因为你可以认为#split在String的命名空间中。 当假定/隐含类( #split )时,我甚至独自看过这个方法。 我知道这是在ri中识别方法的方式。 哪个先来? 这是区分,例如,来自字段的方法? 我也听说这有助于区分实例方法和类方法。 但这是从哪里开始的?