草庐IT

运行时数据区

全部标签

ruby-on-rails - 如何使用 Ruby 删除文本文件中间的数据行

我知道如何写入文件和从文件读取,但除了将整个文件读入内存、操作它和重写整个文件之外,我不知道如何修改文件。对于大文件,这不是很有效率。我真的不知道附加和写入之间的区别。例如如果我有一个文件包含:Person1,will,23Person2,Richard,32Person3,Mike,44我怎样才能删除包含Person2的行? 最佳答案 您可以通过多种方式删除一行:模拟删除。也就是说,只需用空格覆盖行的内容。稍后,当您读取和处理该文件时,忽略这些空行即可。优点:这既简单又快速。缺点:它不是真正的数据删除(文件不会缩小),您需要在读取

ruby-on-rails - postgresql 数据库错误 : Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

当我运行rakedb:migrate或运行railss命令时,我得到同样的错误:Error:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnixdomainsocket"/var/run/postgresql/.s.PGSQL.5432"?当我尝试railss时,浏览器出现错误。这是我的database.ymldefault:&defaultadapter:postgresqlencoding:unicodepool:5development

ruby-on-rails - 尝试运行测试时出现未初始化的常量错误

我刚刚更新了我所有的gem,我发现在尝试运行Test::Unit测试时出现错误。我收到下面复制的错误。这来自创建新的空Rails项目、构建简单模型并运行rake测试。尝试使用谷歌搜索“未初始化常量”和TestResultFailureSupport。我唯一找到的是thisbugreport从2007年开始。我正在使用OSX。这些是我在测试停止工作之前更新的gem:$sudogemoutdatedPassword:RedCloth(4.2.1还有其他人看到过这个问题吗?有任何故障排除建议吗?更新我凭直觉将ZenTest从4.1.3降级回4.1.1,现在一切都恢复正常了。仍然很想知道是否有

ruby-on-rails - bundle install/在 rails 上安装 libv8 (3.3.10.4) 时出错(在 Lion 上运行)

我在我的gem文件中添加了gem'sunspot_rails'并运行了bundleinstall。我在安装libv8时一直报错,报错信息如下:Installinglibv8(3.3.10.4)withnativeextensionsGem::Installer::ExtensionBuildError:ERROR:Failedtobuildgemnativeextension./opt/local/bin/rubyextconf.rb***extconf.rbfailed***CouldnotcreateMakefileduetosomereason,probablylackofnec

ruby - 使用 ruby​​ 规范化数据集

我有一个范围从1到30,000的数据集我想把它归一化,让它变成0.1到10最好的方法/函数是什么?如能提供示例代码,将不胜感激! 最佳答案 这是一个代码片段,假设您想要一个线性规范化。这是一个非常简单的版本(只有直接代码,没有方法),因此您可以看到“它是如何工作的”并将其应用于任何事物。xmin=1.0xmax=30000.0ymin=0.1ymax=10.0xrange=xmax-xminyrange=ymax-yminy=ymin+(x-xmin)*(yrange/xrange)这里是作为函数完成的:defnormalise(x

ruby-on-rails - 是否可以添加 "somewhere"一个 `before(:each)` Hook ,以便所有规范文件都可以运行它?

我正在使用RubyonRails3.2.2和rspec-rails-2.8.1。为了使我的规范文件干(不要重复自己)并为测试数据库做种子,我想运行一个before(:each)Hook所有这些规范文件。也就是说,在我所有的规范文件中,我都有以下代码:describe'testdescription'dobefore(:each)doload"#{Rails.root}/db/seeds.rb"end...end是否可以在before(:each)Hook的“某处”添加,以便所有规范文件都可以运行它?您有什么建议? 最佳答案 在spe

ruby - 如何更新或插入 Sequel 数据集?

我刚开始在一个非常小的Sinatra应用程序中使用Sequel。因为我只有一个数据库表,所以我不需要使用模型。我想更新一条记录(如果它存在)或者插入一条新记录(如果它不存在)。我提出了以下解决方案:rec=$nums.where(:number=>n,:type=>t)if$nums.select(1).where(rec.exists)rec.update(:counter=>:counter+1)else$nums.insert(:number=>n,:counter=>1,:type=>t)end其中$nums是DB[:numbers]数据集。我相信这种方式不是“更新或插入”行为

sql - 如何查询存储在数组中的 Rails ActiveRecord 数据

我有一个名为MentorData的Rails模型,它有一个名为os_usage的属性。这些ose存储在一个数组中,就像这样['apple','linux']。回顾一下:$MentorData.first.os_usage=>['apple','linux']我希望能够查询所有MentorData的数据,包括apple的os_usage,但是当我搜索MentorData.where(os_usage:'apple')我只得到只会用apple不会用apple和linux的导师。我需要以某种方式进行搜索以检查苹果是否包含在数组中。我也试过以下方法。MentorData.where('os_u

ruby - 如何在 Ruby 中触发 shell 脚本并在后台(异步)运行?

我有一个名为test.sh的shell脚本。如何从Ruby触发test.sh?我希望test.sh作为后台进程运行,这在Ruby中意味着它是一个异步调用。STDERR和STDOUT也需要写入特定的文件。有什么想法吗? 最佳答案 @TanzeebKhalili的回答有效,但您可能会考虑Kernel.spawn(),它不等待进程返回:pid=spawn("./test.sh")Process.detach(pid)请注意,根据文档,无论您使用spawn()还是手动使用fork()和system(),您都应该在退出之前获取PID和Proc

ruby-on-rails - 如何从 YAML 文件加载一些 ActiveRecord 模型并将它们保存到数据库?

我正在尝试将一些查找表数据保存到YAML文件中,以便稍后当我需要在另一台机器上设置我的应用程序时,我可以将数据作为种子数据加载。数据是选择选项之类的东西,而且几乎已经设置好,所以不用担心序列化和反序列化之间的实时数据变化。我已经输出了这样的数据......file=File.open("#{RAILS_ROOT}/lib/tasks/questions/questions.yml",'w')questions=Question.find(:all,:order=>'order_position')file我可以像这样加载文件...questions=YAML.load_file('li