草庐IT

file_update_protection

全部标签

ruby 轨道 : Can you put Ruby code in a YAML config file?

我想在我的amazon_s3.yml配置文件中做这样的事情:access_key_id:ENV['S3_KEY']secret_access_key:ENV['S3_SECRET']...但我知道这是行不通的。不确定这是否可能,但是您可以将Ruby代码放入YAML文件中吗? 最佳答案 通常不/直接。我这样说是因为为了使用ruby​​结果,你需要在加载文件之前先使用类似ERB的东西。在代码方面,您需要从以下内容开始:loaded_data=YAML.load_file("my-file.yml")甚至loaded_data=YAML.

ruby - "private"、 "public"和 "protected methods"之间有什么区别?

我正在学习Ruby,但已经到了让我感到困惑的地步。我正在使用的书上讲的是private、public和protectedmethods,但我还是有点糊涂。它们之间有什么区别? 最佳答案 公共(public)-可以从任何地方调用Private-不能在类作用域外调用该方法。对象只能给自己发送消息例如:面包师有bake方法是公开的,但break_eggs是私有(private)的protected-只要默认对象self是与您正在调用其方法的对象相同的类的实例,您就可以调用对象的protected方法例如:使用n保护方法,c1可以要求c2执

ruby - bundler 能告诉我 Gemfile 中的哪些 gems 有更新的版本吗(例如 bundle update 的试运行)

有没有办法运行bundleupdate在假装模式下,类似于Rails生成器的-p(假装)标志或cap的-n(试运行)标志?我在想像这样的事情:$>bundleupdate-pFetchingsourceindexforhttp://rubygems.org/Thefollowinggemshaveupdatedversions:...listofgems... 最佳答案 Bundler1.1引入了一个新的“过时”功能,这正是我一直在寻找的。PatShaughnessy很棒write-up关于新功能。用他的话说,bundleoutda

ruby $ :. unshift File.dirname(__FILE__)

我在许多ruby​​脚本中经常看到这个,但不确定它是什么意思:$:.unshiftFile.dirname(__FILE__) 最佳答案 $:只是$LOAD_PATH的快捷方式。__FILE__是脚本的相对路径。这会将当前脚本目录添加到加载路径。 关于ruby$:.unshiftFile.dirname(__FILE__),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/92383

ruby-on-rails - Rails 错误 "cannot load such file -- less"

我是rubyonrails的新手,我一直在尝试使用twitter-bootstrap作为Assets,所以我将它包含在我的Gemfile中,捆绑并它安装成功。但是我注意到它依赖于某些在我执行“捆绑”命令时未显示的依赖项。它需要的依赖(1)Libv8(2)Less(3)Less-rails错误信息:cannotloadsuchfile--less(inc:/Sites/todo/app/assets/stylesheets/bootstrap_and_overrides.css.less)[code]Extractedsource(aroundline#8):5:6:7:8:"all"%

ruby - 我如何从 `require' : no such file to load in ruby? 中拯救

我正在尝试从“require”中解救出来:没有这样的文件可以按顺序加载到ruby​​中提示用户指定-I标志,以防他忘记这样做。基本上代码如下所示:beginrequire'someFile.rb'rescueputs"someFile.rbwasnotfound,haveyou"puts"forgottentospecifythe-Iflag?"exitend我原以为rescue部分会在找不到someFile.rb的情况下接管执行,但我的假设是错误的。 最佳答案 没有参数的rescue只拯救StandardErrors。LoadEr

ruby-on-rails - 如何在不触及 updated_at 属性的情况下更新单个属性?

我怎样才能做到这一点?试图创建2个方法,称为defdisable_timestampsActiveRecord::Base.record_timestamps=falseenddefenable_timestampsActiveRecord::Base.record_timestamps=trueend和更新方法本身:defincrement_pagehitupdate_attribute(:pagehit,pagehit+1)end使用如下回调打开和关闭时间戳:before_update:disable_timestamps,:only=>:increment_pagehitafte

ruby - class_eval << -"end_eval", __FILE__, __LINE__ 在 Ruby 中是什么意思?

我正在学习如何在模块中使用class_eval(我对class_eval有点熟悉)并遇到了thishelpfulclassinresource_controller.那里有这样的东西:class_eval__FILE__和__LINE__在那个上下文中做了什么?我知道__FILE__引用当前文件,但整个事情到底做了什么?真的不知道如何搜索它:)。 最佳答案 __FILE__和__LINE__是一种动态常量,用于保存当前正在执行的文件和行。将它们传递到这里允许错误正确报告它们的位置。instance_eval当你运行它时$rubyfo

ruby-on-rails - ruby 2.0 rails gem 安装错误 "cannot load such file -- openssl"

我正在使用osx10.8.2安装了ruby2.0并且....尝试运行"sudogeminstallrails"时得到这个$sudogeminstallrailsERROR:Loadingcommand:install(LoadError)cannotloadsuchfile--opensslERROR:Whileexecutinggem...(NoMethodError)undefinedmethod`invoke_with_build_args'fornil:NilClass我之前使用ruby​​1.9.x和rails3.2.x工作正常 最佳答案

Ruby 的 File.open 给出 "No such file or directory - text.txt (Errno::ENOENT)"错误

我在我的Win7机器上安装了Ruby1.9.2。创建了一个简单的analyzer.rb文件。它有这一行:File.open("text.txt").each{|line|putsline}当我运行代码时,它给我这个错误:analyzer.rb:1:in`initialize':Nosuchfileordirectory-text.txt(Errno::ENOENT)fromanalyzer.rb:1:in`open'fromanalyzer.rb:1:in`'Exitcode:1我不明白。在与analyzer.rb文件相同的目录中有一个text.txt文件。我还尝试输入文件的绝对路径C