我有一個現有的Rails應用程序,我對紅寶石1.9.2和Linux的版本的軌道運行是紅寶石fastercsv錯誤1.9.2
rails 2.3.8
,它有一個Gemfile中以及在其供應商/寶石目錄有「fastercsv-1.5.4」寶石
並在其遷移(在兩個遷移),它所需的寶石「fastercsv」
require 'fastercsv'
但是當我做
rake db:migrate
它無法執行遷移索賠
「請切換到Ruby 1.9的標準CSV庫。這是FasterCSV加上Ruby 1.9的m17n的編碼引擎的支持。」
,我發現了此消息來自寶石‘faster_csv.rb’的文件。因爲它有一個條件檢查紅寶石版本
if RUBY_VERSION >= "1.9"
class FasterCSV
def self.const_missing(*_)
raise NotImplementedError, "Please switch to Ruby 1.9's standard CSV " +
"library. It's FasterCSV plus support for " +
"Ruby 1.9's m17n encoding engine."
end
def self.method_missing(*_)
const_missing
end
def method_missing(*_)
self.class.const_missing
end
end
-- and more code
有人能告訴我如何解決這個問題。請注意「fastercsv」還沒有被添加到Gemfile中。
同樣在這裏,否則你最終會有一個未初始化的常量Object :: CSV(NameError).. – 2011-07-07 13:44:43
哦,我希望這可以工作,因爲我在我的應用程序中得到Object :: CSV,這是令人沮喪的。如果它是正確的,將會回報和高五這個答案! – pjammer 2011-07-11 18:35:08
它也適用於老版本的ruby(1.9) – piffy 2013-04-23 09:18:24