草庐IT

using-transactions-for-unit-tests

全部标签

ruby-on-rails - 国际化 : error message localization for particular model

我可以为每个验证本地化错误消息,但我如何为特定模型创建错误。普通语言环境看起来像这样:en:mongoid:errors:messages:taken:"Itisalreadytaken"但我想为user模型更改消息:en:mongoid:errors:messages:taken:"Itisalreadytaken"user:taken:"Itisalreadytaken.%{link_to'Rememberpassword',reset_password_path'}" 最佳答案 试试这个:en:mongoid:errors:m

ruby - 在没有 rvm 或 rbenv 的情况下编译 Ruby 2.0 错误, `readline.c:1886:26: error: ' Function' undeclared (first use in this function)`

我想安装gitlab,不推荐使用任何ruby版本管理器。但是这是我的操作系统Linuxdqa-dev3.13.0-24-generic#46-UbuntuSMPThuApr1019:08:14UTC2014i686i686i686GNU/Linuxlinkingshared-objectpsych.soinstallingdefaultpsychlibrariesmake[2]:Leavingdirectory`/home/poc/ruby-2.0.0-p451/ext/psych'make[2]:Enteringdirectory`/home/poc/ruby-2.0.0-p451/

ruby - rbenv — 'find_spec_for_exe':找不到带有可执行包的 gem 打包器 (>= 0.a) (Gem::GemNotFoundException)

我是rbenv的新手(长期使用RVM)。今天我彻底卸载了我的RVM并安装了rbenv。我成功安装了Ruby2.5.1,没有任何问题。但是,当我今天尝试为一个项目运行bundleinstall时,出现了以下错误:'find_spec_for_exe':找不到带有可执行包(Gem::GemNotFoundException)的gem打包器(>=0.a)我的bundler安装似乎出了点问题,但我不确定哪里出了问题。使用sudo运行geminstallbundler无法解决问题。这是完整的轨迹:$echo$SHELL/bin/zsh$cat~/.gemrcgem:--no-documentin

ruby-on-rails - 为什么要测试:units and test:functionals insist on running in development environment?

我正在尝试测试一些特定于环境的设置(特定于中间件,但这似乎无关紧要),但我无法让测试在正确的环境中运行。症状:如果我运行rubytest/unit/my_test.rb,一切都很好,因为它做的第一件事是需要test/test_helper.rb,这会设置环境"test"然后加载Rails环境。如果我运行raketest,第一批(功能)运行良好,但第二批(单元)失败。失败是ENV['RAILS_ENV]以某种方式在批处理之间未设置,然后config/environment.rb看到没有设置并使用默认值"development“。环境在config/environment.rb的开头和该文

ruby - 法拉第 : you may want to install system_timer for reliable timeouts

我将一个旧脚本迁移到一个新的CentOSbox并在运行脚本时收到以下消息:Faraday:youmaywanttoinstallsystem_timerforreliabletimeouts它是警告吗?system_timer是什么?gem? 最佳答案 这是一颗gem。不过,您应该不再需要它了,因为它只支持Ruby1.8及更早版本(Ruby1.8已正式弃用)。来自http://ph7spot.com/musings/system-timer:Update:system_timerisonlyrelevantifyouarerunni

ruby - gemspec 文件中的 `files` 、 `executables` 、 `test_files` 和 `require_paths` 是什么?

我不清楚.gemspec文件中的某些规范在做什么。具体来说,spec.files=`gitls-files-z`.split("\x0")spec.executables=spec.files.grep(%r{^bin/}){|f|File.basename(f)}spec.test_files=spec.files.grep(%r{^(test|spec|features)/})spec.require_paths=["lib"]谁能解释一下这些与RubyGem的功能有何关系以及为什么需要它们? 最佳答案 executables:

ruby-on-rails - Rails 嵌套 with_option :if used in validation

validate:updatable?#Firstvalidationthereiswith_options:if=>Proc.new{|object|object.errors.empty?}do|updatable|updatable.with_options:if=>"self.current_step==basic"do|step|validates....bla-blabla因此,在进行任何验证之前,updatable子例程被调用,它用适当的错误填充errors[:base]数组,这意味着该对象不可更新.如果在此子例程中发现任何错误,我希望它跳过其余的验证,但上述示例不工作-

ruby-on-rails - Rspec.config 之前(:each) except for specific :types

我正在尝试获取一个before(:each)block以针对所有规范excepttype::feature运行。我让它工作的唯一方法是剪切和粘贴,并为每种类型设置单独的配置block。(:type=>:model,:type=>:service等)spec/rails_helper.rb#Tospeeduptests,stuballPaperclipsavingandreadingto/fromS3config.before(:each,:type=>:model)doallow_any_instance_of(Paperclip::Attachment).toreceive(:sav

ruby - pg_dump : [archiver (db)] query failed: ERROR: permission denied for relation abouts

我正在尝试转储我的pgdb但遇到这些错误请建议pg_dump:[archiver(db)]queryfailed:ERROR:permissiondeniedforrelationaboutspg_dump:[archiver(db)]querywas:LOCKTABLEpublic.aboutsINACCESSSHAREMODE 最佳答案 您正在执行pg_dump的用户没有公共(public)模式的权限。如果允许则添加权限:GRANTUSAGEONSCHEMApublicTO;GRANTSELECTONALLTABLESINSCH

ruby-on-rails - 尝试使用 accepts_nested_attributes_for 和 has_and_belongs_to_many 但未填充连接表

我正在学习RoR并尝试使用accepts_nested_attributes_for和has_and_belongs_to_many来提交传统上为两种形式的信息。我在一些网站上看到它们兼容,一些网站不兼容,还有一些网站不知道。作为引用,我使用的是Rails2.3.4。我尝试根据nestedmodels上的Ryan'sScraps教程对我的解决方案进行建模从我尝试调试的内容来看,我似乎有两个问题,但我不确定为什么。当我提交包含嵌套模型的表单时,只发布了部分嵌套模型信息。我只得到第一个字段,而不是用户可能选择的“n”个其他字段在发布的单个字段中,没有任何行插入到我为HABTM关系创建的连接