草庐IT

小程序健康监测系统

全部标签

ruby - 在 Rails 应用程序中导入 CSV 时忽略具有空白值的行

我有一个允许用户导入CSV数据的应用程序。一切正常,直到用户开始导入CSV文件中包含空白行的数据。我正在使用以下内容从CSV文件中获取行:CSV.readlines(import_file,headers:true,skip_blanks:true)我认为如果我将选项添加到skip_blanks它会这样做,但事实并非如此。关于如何忽略空白行的任何想法。谢谢! 最佳答案 这应该可行CSV.open(import_file,skip_blanks:true).reject{|row|row.all?(&:nil?)}编辑您请求了read

ruby - 无法使用 Vagrant 转发端口访问主机上的 Sinatra 应用程序

在使用rubyapp.rb和foremanstart启动我的Sinatra应用程序后,我无法使用localhost和主机上的相应端口访问我的应用程序。我还能够从客户机的shell中curl到应用程序,而在主机上curl请求失败。据我所知,guest计算机上不应该安装防火墙,因为我使用的是VagrantUbuntu镜像。我的Vagrantfile如下:Vagrant.configure('2')do|config|config.vm.box='precise32'config.vm.box_url='http://files.vagrantup.com/precise32.box'con

Windows 7 64 位机器上的 Ruby 安装程序

任何人都可以帮我在哪里找到要在Windows7上安装的Ruby64位安装程序,或者我可以在64位机器上安装32位Ruby1.8.6或1.9安装程序(只有一个)没有任何问题吗?.任何建议或文档链接将不胜感激。提前致谢。 最佳答案 由于WOW64(WindowsonWindows功能),32位Ruby可以安装在64位Windows版本中64位Ruby没有安装程序,您会发现这方面有很多复杂的问题。我建议您使用官方RubyInstaller网站上即将推出的RubyInstallers:http://rubyinstaller.org/(将被

ruby - 如何等待系统命令结束

我正在使用Ruby中的系统命令转换XLS2CSV文件。转换后我正在处理CSV文件,但是当程序要处理文件时转换仍在运行,所以那时它们不存在。谁能告诉我是否可以让Ruby等待系统命令完成的正确时间?现在我正在使用:sleep20但是如果一次要花更长的时间,那当然是不对的。我具体做的是这样的:#Callontheprogramtoconvertxlscommand="C:/Development/Tools/xls2csv/xls2csv.exeC:/TDLINK/file1.xls"system(command)do_stuffdefdo_stuff#Thisiswhereiusefile

ruby-on-rails - 记录 Rails 应用程序中的所有方法调用

有没有一种简单的方法可以记录Rails应用中的所有方法调用?我对此的主要用途是测试(和调试测试)。我希望拥有比堆栈跟踪提供的更多的历史记录(例如,在使用“-b”选项运行rspec时)。 最佳答案 这很容易做到。只需将5行代码添加到您的脚本/服务器中:#!/usr/bin/envrubyset_trace_funcproc{|event,file,line,id,binding,classname|ifevent=="call"orevent=="return"printf"%8s%s:%-2d%10s%8s\n",event,fil

ruby - 单例类会在多线程应用程序中产生问题吗?

这可能是过早的优化,或过早的过度谨慎,但我避免在一些类上使用单例,因为我担心在未来我需要以多线程方式运行我的应用程序,而且单例会造成冲突和困惑。单例在Ruby中是否有这个问题,或者是否有某种内置的命名空间,以便当一个类引用单例时,只返回同一线程上的单例?编辑:澄清这些是可观察的类,当更新时会导致其他正在观察它们的类更新。我不确定这是否是线程安全的,但我知道现在我正在大量传递这些可观察的类,这有点烦人。而且它们看起来确实像是自然的单例类。 最佳答案 这是一个使单线程安全的例子。您必须像对待任何其他具有状态(@things)并且不是不可

ruby - sleep() 对于作业调度应用程序的主循环来说是个好主意吗

我正在为我的工作用Ruby编写一个作业调度应用程序(主要是为了以给定的频率使用各种协议(protocol)移动文件)我的主循环是这样的:whiletruedo#somecodetolaunchtheproperjobsleepCONFIG["interval"]end它的工作就像一个魅力,但我不确定它是否足够安全,因为该应用程序可能在运行cpu密集型软件的服务器上运行。是否有另一种方法可以做同样的事情,或者sleep()对我来说是否足够安全? 最佳答案 每当我觉得需要阻塞时,我都会使用事件循环;通常是libev。这是一个Ruby绑定

ruby-on-rails - RVM 查找系统 gems 的可执行文件

我已经安装了RVM和ruby​​版本。但是,如果我启动控制台并运行命令railsserver、bundleinstall等。我会收到此错误bash:/usr/bin/rails:/usr/bin/ruby1.8:badinterpreter:Nosuchfileordirectory但如果我先运行rvmuse1.9.2,那么一切都正常。我尝试使用`rvmuse--default1.9.2'但没有任何改变。这是否意味着它使用的ruby与RVM中的ruby不同?提前致谢! 最佳答案 rubygemsbin文件夹和PATH的解释哦。你没有

ruby-on-rails - 信用系统 : history based or balance based?

我打算写一个简单的信用系统,用户可以在系统中“添加”、“扣除”信用。目前我正在考虑两种方法。简单一:将用户的信用存储为数据库中的balance字段,记录所有操作(“add”、“deduct”)但不用于计算最新余额.基于历史:不要将余额存储在数据库中。余额是通过查看交易历史来计算的,例如(“加”,“减”)我认为这两种情况都可行,但我希望了解在设计此类系统时是否有任何注意事项,特别是我更喜欢Historybased系统。或者,有没有我正在使用的引用实现或开源模块?更新:或者是否有任何基于Ruby/Rail的模块,例如AuthLogic,这样我就可以即插即用我现有的代码而无需重新发明轮子(例

ruby-on-rails - 缺少带有 { :locale=>[:en], :formats=>[:html], 的模板布局/邮件程序

我正在学习michaelharltrails教程,但出现此错误Missingtemplatelayouts/mailerwith{:locale=>[:en],:formats=>[:html],:variants=>[],:handlers=>[:raw,:erb,:html,:builder,:ruby,:coffee,:jbuilder]}.Searchedin:*"/home/ubuntu/workspace/app/views"预览账户激活时这是我的user_mailer.rbclassUserMailer错误突出显示了mailto:user.email,subject:"A