草庐IT

required_with_all

全部标签

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 - 缺少 `secret_token` 和 `secret_key_base` - Rails 4.2.0 with RVM

最近,我从Git中提取了一个存储库。启动服务器后,我收到以下消息:缺少secret_token和secret_key_base。这可能是因为我在我的.gitignore中包含了secrets.yml。我目前的设置Ubuntu14.04ruby2.2.0p0rails4.2.0rvm1.26.11本地服务器(非远程)开发环境许多在线资源指出我必须使用rakesecret生成新key并将其添加到secrets.yml中。将key放在secrets.yml中并重新启动Rails服务器不起作用。Edited:Addedcontentsofsecrets.ymlbelow.-04/30/159:

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 - rails 上的 ruby : Creating a model entry with a belongs_to association

我正在尝试在我的数据库中为具有belongs_to关系的模型添加一个新条目。我有2个模型,工作和客户。很容易找到有关如何在这两者之间建立关联(使用has_many和belongs_to)的教程,但我似乎找不到任何实际使用关联的示例。在我的代码中,我正在尝试为第一个客户创建一个新工作。jobs模型有一个client_id属性,我知道我可以手动填充该属性,但必须有一些ruby​​约定才能轻松完成此操作。Job.create(:client_id=>1,:subject=>"Test",:description=>"Thisisatest")我可以很容易地将它放入我的代码中,但我觉得ruby

Ruby require 'file' 不起作用,但 require './file' 可以。为什么?

我有一个装满ruby​​文件的文件夹,当我尝试使用require'file'在同一目录中的另一个文件中请求一个文件时,我得到一个LoadError但当我使用require'./file'时一切正常。有人可以向我解释为什么会发生这种情况吗?如果有任何方法我可以在不向文件添加./的情况下获取文件?(目录图片): 最佳答案 如果你想require一个文件不是来自系统$LOAD_PATH而是相对于你require文件的目录来自,你应该使用require_relative.(如您所见,这并没有广泛记录。)

ruby - 使用 ( :send) in Ruby with keyword arguments?

我有一个私有(private)方法,我正尝试在Ruby中使用#sendto进行一些测试。该方法很复杂,我不想暴露在类之外,所以我想测试该方法,但我也不需要将其列为公共(public)方法。它有关键字参数。我怎样才能使用send来调用该方法,同时还向它传递关键字参数/命名参数?有办法吗?方法如下所示:defsome_method(keyword_arg1:,keyword_arg2:,keyword_arg3:nil) 最佳答案 取决于关键字参数的定义方式。如果出于某种原因将它们定义为内联,则将它们内联传递:SomeClass.sen

ruby-on-rails - Ruby 排序依据(整数) "comparison of NilClass with 3200 failed"

我想在Rails应用程序中对我的记录进行排序:@ebms=Ebm.all@ebms.sort_by!{|u|u.number}u.number被定义为整数!问题是Rails无法将它与nil进行比较:comparisonofNilClasswith32400failed我该怎么做才能避免这个错误? 最佳答案 尝试将nil转换为整数怎么样?@ebms=Ebm.all@ebms.sort_by!{|u|u.number.to_i} 关于ruby-on-rails-Ruby排序依据(整数)"co

ruby - 未安装 gem 时如何从 require "gem_name"中解救

我正在编写一个依赖于特定gem的库。我需要gem并在我的代码中使用它,只要在用户的机器上安装了gem,一切都很好。但如果不是呢?!我认为这很好,因为我可以从require命令中解救出来并向输出打印一条消息以通知用户缺少gem并优雅地完成它,但我收到错误!你能告诉我应该怎么做或者这段代码有什么问题吗:beginrequire"some_gem"rescueputs"pleaseinstallsome_gemfirst!"end 最佳答案 如果require无法加载所需的库,则会引发LoadError异常。但是,您从不在任何地方从Loa

ruby - “Stack level too deep” 运行 rake 数据库 :create:all

当我运行rakedb:create:all时,我收到以下消息:/Users/junior/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2/lib/rake/version.rb:4:warning:alreadyinitializedconstantMAJOR/Users/junior/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2/lib/rake/version.rb:5:warning:alreadyinitializedconstantMINOR/Users/junior/.rv

ruby - 如何在 rspec 之前访问元数据(:all)?

我希望能够在before(:all)方法期间显示测试组名称(和祖先):describe"Myawesomeapp"dobefore(:all)doputsrunning_example_group.metadata[:full_description]#这个想法是会产生输出:MyawesomeappMyawesomeappawesomewidget此数据在“it”子句中可用,但我无法在before(:all)中弄清楚。它不可用吗?我是不是犯了一个愚蠢的错误? 最佳答案 在before(:all)block中,没有“运行示例”,但您仍