草庐IT

java - Java 有静态顺序初始化失败吗?

全部标签

ruby - 加载使用 YAML 序列化的对象时调用初始化

是否可以在使用YAML.load_file时强制Ruby调用初始化方法?我想调用该方法以便为我不序列化的实例变量提供值。我知道我可以将代码分解成一个单独的方法并在调用YAML.load_file之后调用该方法,但我想知道是否有更优雅的方法来处理这个问题。 最佳答案 我认为你做不到。由于您要添加的代码确实特定于要反序列化的类,因此您应该考虑在类中添加该功能。例如,让Foo成为您要反序列化的类,您可以添加一个类方法,例如:classFoodefself.from_yaml(yaml)foo=YAML::load(yaml)#editth

ruby-on-rails - 是吗? Rails 3 中的单表继承失败

Object#is_a?在Rails3中以最奇怪的方式失败。我将单表继承设置如下(为简洁起见进行了简化):#resource.rbclassResource在我的Controller中,我有这个:defcreate@resource=Resource.findparams[:resource_id]logger.info'@resourceclass:'+@resource.class.namelogger.info'@resourcesuperclass:'+@resource.class.superclass.namelogger.info'@resourceis_a?(Video

ruby-on-rails - "Rake spec"大多数测试失败,但 "rails s"在 Diaspora 源上工作正常

我已经克隆了Diaspora的源代码,并且我有一个可以正常运行的本地pod,它似乎可以正常运行。但是当我运行$rakespec时,一些初始测试通过了,然后所有测试都开始失败。此外,我发现有趣的是,每次运行rakespec时,它们都会在不同的点失败。它们都因错误而失败:AnerroroccurredinanafterhookActiveRecord::StatementInvalid:PG::ConnectionBad:PQsocket()can'tgetsocketdescriptor:ROLLBACKoccurredat/home/darshan/.rvm/gems/ruby-2.0

ruby-on-rails - 与 ActiveSupport 的时间比较失败

now=Time.zone.now=>Wed,19Feb201421:30:56UTC+00:00Time.zone.at(now.to_i)=>Wed,19Feb201421:30:56UTC+00:00now==Time.zone.at(now.to_i)=>false这怎么可能?更新:Time.zone.at(now.to_i).to_i==now.to_i=>true 最佳答案 Ruby跟踪时间精确到纳秒:now=Time.zone.now=>Wed,19Feb201421:30:56UTC+00:00Time.zone.a

ruby - 交集完成后,顺序是否保留在数组中?

当我对两个数组进行交集时,是否可以保证生成的顺序基于第一个数组的顺序?例如,如果我有a=[1,2,3]b=[3,2,1]可以a&b返回[3,2,1],而不是[1,2,3](这是什么我希望)?我在RDoc或Pickaxe的Array文档中找不到任何直接解决这个问题的内容。RubySpec有一个规范,它createsanarraywithelementsinordertheyarefirstencountered,但我是否应该假设YARVRuby会遵守该规范? 最佳答案 看起来这是一项有保证的功能。他们在revision39415中升级

ruby-on-rails - 为什么 Controller 操作应该调用一个模型方法而不是初始查找或新方法?

我的模型中的函数几乎包含所有“共享”语句。问题是,当我需要在我的Controller中使用多个功能时,出现以下错误:ControlleractionshouldcallonemodelmethodotherthananinitialfindornewIDE会更深入地解释:Thisinspectionwarnsifacontrolleractioncontainsmorethanonemodelmethodcall,aftertheinitial.findor.new.It’srecommendedthatyouimplementallbusinesslogicinsidethemode

ruby-on-rails - delayed_job 作为守护进程运行时作业失败。使用 rake 作业时运行良好 :work

我实在是无计可施了。我不明白为什么它不起作用。我创建了一个类,我使用rake命令对其进行调用和排队。当我使用“rakejobs:work”运行worker并调用命令“rakeget_updates”时,它执行得很好。但是,当我将worker作为守护进程运行时(RAILS_ENV=productionbin/delayed_jobstart)并调用命令“rakeget_updates”时,它会产生错误。app/workers/get_updates.rbclassGetUpdatesdefperformbeginning=Time.nowincludeSoapHelperrequire'

ruby - Rails 4 初始化程序未加载

我正在尝试将我的电子邮件密码放在一个.yml文件中。在config/initializers下我有一个文件emailers_config.rbrequire'yaml'EMAIL_CONFIG=YAML.load(File.read(Rails.root+"config/mailer_config.yml"))在我的config/mailer_config.yml我有:#productionpasswordsmtp_password_pro:foo#devevopmentenvpasswordsmtp_password_dev:bar现在看来我的初始化没有运行,因为我得到了这个未初始化

ruby-on-rails - NameError(未初始化常量 Mime::XLS):

我在我的Ubuntu服务器上遇到了问题,但它在我的本地机器上完全没有任何错误。rubyversion1.9.3railsversion3.2.13我做了如下配置:application.rbrequireFile.expand_path('../boot',__FILE__)require'csv'require'rails/all'/initializers/mime_types.rbMime::Type.register"application/xls",:xls#Mime::Type.register"application/vnd.ms-excel",:xls我从here得到了

ruby-on-rails - Rspec 的 instance_double 创建间歇性规范失败

我在使用instance_double时遇到间歇性测试失败。我有一个包含4个规范的文件。这是来源:require'rails_helper'describeSubmitPostdobefore(:each)do@post=instance_double('Post')allow(@post).toreceive(:submitted_at=)endcontext'onsuccess'dobefore(:each)doallow(@post).toreceive(:save).and_return(true)@result=SubmitPost.call(post:@post)endit