Tag: ruby

我应该在我的Gemfile中指定确切的版本吗?

我注意到在rubygems.org上有很多gembuild议你用主版本而不是确切版本来指定它们。 例如… haml-rails gem … gem "haml-rails", "~> 0.3.4" # "$ bundle install" will acquire the # latest version before 1.0. 不过,根据Bundler文档 ,我觉得最好能find像这样的确切版本。 gem "haml-rails", "0.3.4" 所以你的haml-railsgem,它的所有依赖不会漂移。 如果几个星期后在另一台计算机上签出项目并运行$ bundle install您将拥有与指定的所有内容完全相同的版本。 我已经看到了点发布的东西,我认为Bundler的整个想法的一部分是“ Bundle.lock ”所有的gem版本。 但是在rubygems.org上,他们使用“〜”很多,所以我可能错过了一些东西? 任何澄清将有助于我理解Bundler和gempipe理。

了解ruby-prof输出

我在我的一个程序中运行了ruby-profiler。 我试图弄清楚每个字段的含义。 我猜一切都是CPU时间(而不是挂钟时间),这是太棒了。 我想了解“—”代表什么。 那里有一些堆栈信息。 呼叫a / b是什么意思? Thread ID: 81980260 Total Time: 0.28 %total %self total self wait child calls Name ——————————————————————————– 0.28 0.00 0.00 0.28 5/6 FrameParser#receive_data 100.00% 0.00% 0.28 0.00 0.00 0.28 6 FrameParser#read_frames 0.28 0.00 0.00 0.28 4/4 ChatServerClient#receive_frame 0.00 0.00 0.00 0.00 5/47 Fixnum#+ 0.00 0.00 0.00 0.00 1/2 DebugServer#receive_frame […]

Ruby:冒号之前vs之后

在使用Ruby的时候,我一直在和:混淆。 有人可以请解释什么时候我应该使用它之前的variables名称,如:name ,以及当我应该使用variables后如name: ? 一个例子就是崇高。

在Ruby中有一种方法来重载初始化构造函数?

在Java中,你可以重载构造函数: public Person(String name) { this.name = name; } public Person(String firstName, String lastName) { this(firstName + " " + lastName); } 有没有办法在Ruby中实现相同的结果:两个构造函数采取不同的参数?

查找模块中可用的类

我有一个模块MyModule 。 我dynamic加载类到它。 我如何获得在其名称空间中定义的类的列表? 例: def load_plugins Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do |f| MyModule.class_eval File.read(f) end # now how can I find the new classes I've loaded into MyModule? end 我应该说,每个f包含像“Foo类;结束”的东西。 你也可以这样想:在Rails中,我怎样才能以编程方式find在ActiveRecord模块中定义的所有类?

为什么在ruby中dynamic创build大量符号并不是一个好主意?

符号在ruby中的function是什么? string和符号有什么区别? 为什么dynamic创build大量符号并不是一个好主意?

为什么Ruby on Rails专业人员不使用脚手架?

我有时候从长期以来似乎在使用rails的人那里学习,他们学到的一个重要的教训是“不要使用脚手架”。 同样在irc上,我从这个方向读到一些常见的提示。 我的问题是为什么,这有什么坏处呢? 而且nifty_scaffolding也不好? 我的猜测是,这是不好的,因为它默认生成一个控制器操作的xml版本,这将暴露我们的应用程序的字段名称给任何人,使它更容易受到攻击,所以也许是这样吗? 你不做脚手架的原因是什么?

如何确认与水豚的JavaScriptpopup?

我已经尝试了几个在线发现的例子,但没有运气。 我正在查看确认删除链接的确认消息。 最后一次尝试是下面的代码,但是导致了一个Capybara :: NotSupportedByDriverError错误。 def confirm_dialog page.evaluate_script('window.confirm = function() { return true; }') end

创build一个接受散列参数的ruby方法

我知道这可能是一个愚蠢的问题,但我不知道如何创build一个接受散列参数的ruby方法。 我的意思是,在Rails中,我想使用这样的方法: login_success :msg => "Success!", :gotourl => user_url 什么是接受这种参数的方法的原型? 我如何阅读?

Ruby,从path+文件名获取path

编程语言:Ruby 1.9 问题string: C:/Test/blah.txt 到C:/Test/ 我知道这是一个简单的问题,但Google和File Rapid Quickref对我来说没有任何解决scheme。 而我对Regex没有经验。