在我的OS X开发系统上:
$ ruby --version
ruby 1.8.6 (2007-03-13 patchlevel 0) [universal-darwin8.0]
$ script/console
Loading development environment (Rails 2.3.4)
>> require 'yaml'
=> []
Run Code Online (Sandbox Code Playgroud)
在CentOS 5.3生产系统上:
$ script/console production
Loading production environment (Rails 2.3.4)
/opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:1959:in `method_missing':NoMethodError: undefined method `define_index' for #<Class:0x2e6f7b0>
>> require 'yaml'
=> false
Run Code Online (Sandbox Code Playgroud)
关于NoMethodError我能做些什么吗?
为什么yaml将无法使用.它不是核心Ruby库的一部分吗?
下面的行检查和执行什么?
prefix = root_dir.nil? ? nil : File.join(root_dir, '/')
Run Code Online (Sandbox Code Playgroud)
这是包含代码行的块.
def some_name(root_dir = nil, environment = 'stage', branch)
prefix = root_dir.nil? ? nil : File.join(root_dir, '/')
.
.
.
Run Code Online (Sandbox Code Playgroud)
我知道'?' 在红宝石中是检查是/否履行的东西.但我对上面的代码块中的用法/语法不是很清楚.