草庐IT

我的照片

全部标签

ruby-on-rails - 我的非模型/非 Controller 代码应该放在哪里?

我编写了一个遵循常规目录结构的Rails应用程序(模型代码在模型中,Controller代码在Controller中)。但我现在正在开发一项新功能,为此我编写了一些(我称之为)“服务”代码。新功能是将一些数据导入系统,目前是两个类来进行导入,但可以扩展到更多。我不认为新代码属于模型,因为它不对任何对象建模(它也不直接与任何单个对象相关。我当然不认为它属于Controller,因为它不是表示逻辑。因此,我创建了一个“app/services”目录并将其放在那里。我还创建了一个“test/services”目录,用于放置我的测试。我认为一切都很好,但是当我运行“rake:test”或“au

ruby - Emacs 在运行编译命令时忽略了我的路径

我正在尝试让编译命令(rakecucumber)在我的MacOSX系统上使用特定的ruby​​版本运行,我目前在终端中使用rvm来执行此操作。我的~/.MacOSX/environment.plist中有正确的路径,但emacs坚持要在这条路径之前添加,因此使其无用。我也试过:(when(equalsystem-type'darwin)(setenv"PATH"(concat"/Users/fearoffish/.rvm/bin:/Users/fearoffish/.rvm/rubies/ruby-1.8.7-p249/bin:/Users/fearoffish/.rvm/gems/r

ruby-on-rails - Lion 吃了我的 RVM,现在我无法安装 Ruby

我最近升级到Lion,一切都很好。甚至重新启动机器几次。然后在周末,Rails消失了!我所有的gem都不见了。我发誓我不知道发生了什么。它工作得很好。仔细一看,RVM本身就不见了。因此,我重新安装了RVM并尝试安装Ruby1.9.2,但我得到了这个错误日志:[2011-08-0814:30:41]./configure--prefix="/Users/cbmeeks/.rvm/usr"checkingforaBSD-compatibleinstall.../usr/bin/install-ccheckingwhetherbuildenvironmentissane...yescheck

ruby-on-rails - 如何运行使用我的 Rails 模型的 Ruby 任务?

我有一个带有一些基本模型的Rails应用程序。该网站显示从其他来源检索的数据。所以我需要编写一个Ruby脚本来在我的数据库中创建新实例。我知道我可以使用测试Hook来做到这一点,但我不确定这在这里是否有意义。我不确定这个任务应该是什么样子,我如何调用它,或者它应该在我的源代码树中的什么位置(lib\tasks?)。例如,这是我的第一次尝试:require'active_record'require'../app/models/mymodel.rb'test=MyModel.newtest.name='test'test.save这失败了,因为它无法连接到数据库。这对我的新手来说意义不大

ruby - 为什么我的 gem 需要这么长时间才能加载?

我正在开发我的第一个名为t_time_tracker的gem(哇哦!)。一切进展顺利;我尽可能地对其进行了优化,以尽可能减少执行时间:t_time_tracker[master*]%timeruby-Ilib./bin/t_time_trackerYou'renotworkingonanything0.07suser0.03ssystem67%cpu0.141total(这是我的应用程序的“helloworld”——不带参数调用它只会打印出“你没有做任何事情”)大约十分之一秒,使用了我67%的CPU-太棒了,我可以接受。感觉相当瞬间。让我们构建它:$gembuildt_time_tra

ruby-on-rails - 为什么 Ruby 只在我的系统上抛出一个段错误,而且只在这个 Rails 应用程序中?

我不太确定如何正确调试它,但尝试了几种不同的方法,虽然浪费了时间,但没有解决问题。我办公室里至少有4个其他人可以在安装了相同版本的ruby​​和ruby​​gems的相同机器上执行此代码而没有错误。这是我正在执行的代码:status=Open4::popen4("swfmillsimplestdinstdout")do|pid,stdin,stdout,stderr|stdin.write(config)stdin.closebytes=stdout.readerrors=stderr.readend我在这条线路上收到“总线错误”:errors=stderr.read如果我评论该行,我

自学5个月Java找到了9K的工作,我的方式值得大家借鉴 第一部分

我是去年9月22日才正式学习Java的,因为在国营单位工作了4年,在天津一个月工资只有5000块,而且看不到任何晋升的希望,如果想要往上走,那背后就一定要有关系才行。而且国营单位的气氛是你干的多了,领导觉得你有野心,你干的不多,领导却觉得你这个人不错。我才26周岁,实在的受不了这种工作氛围,情绪已经压制了很多久,一心想着要跳出来,却一直找不到合适的机会。因为身边的朋友有在北京做Java开发的,他工作了四五年的时间,可以在北京拿到3万的月薪,说心里话我是真的羡慕,这远超出了我的认知范围。所以经过朋友的推荐,我开始学习Java,一共学了大概5个多月的时间,今年的3月6号在天津找到了一份Java开发

ruby - 我需要在 Ruby 中缩进我的代码吗?

您可能会认为这是一个简单的问题,但我无法在任何地方找到答案。>_如果我的代码缩进不正确,Ruby会抛出语法错误吗?例如,这样的代码行得通吗?ifstr.blank?str="HelloWorld"no_input=trueend显然,这是糟糕的风格,无论如何我都应该正确缩进。我想知道是否可以在调试session期间将其排除为错误的原因。 最佳答案 是的,它会起作用。Ruby只查找换行符。但是由于代码的可读性也很重要,我想说如果只是为了这个目的,你应该注意空格。 关于ruby-我需要在Ru

Ruby Greed Koan - 如何改进我的 if/then 汤?

我正在努力学习RubyKoans以尝试学习Ruby,到目前为止一切顺利。我已经得到了贪婪的公案,在撰写本文时它是183。我有一个可行的解决方案,但我觉得我只是拼凑了一堆if/then逻辑,但我不是拥抱Ruby模式。在下面的代码中,有什么方法可以让我更全面地接受Ruby模式吗?(我的代码包含在“我的代码[BEGINS|ENDS]HERE”注释中。#Greedisadicegamewhereyourolluptofivedicetoaccumulate#points.Thefollowing"score"functionwillbeusedcalculatethe#scoreofasing

ruby - 如何在我的 Ruby gem 中正确登录?

目前我正在使用puts,但我确定这不是正确的答案。如何在我的gem中正确设置记录器以输出我的内部日志记录而不是puts? 最佳答案 对于您的gem用户来说,最灵活的方法是让他们提供一个记录器,而不是在gem中设置它。这可能是最简单的classMyGemclass然后您使用MyGem.logger.info"hello"记录来自您的gem的消息(您可能希望将其包装在一个实用程序方法中以测试是否设置了记录器)然后,您的gem用户可以控制消息记录到的位置(文件、系统日志、标准输出等...) 关