我爲Sinatra應用程序設置了一個項目級別的RVM gemset我開始將使用Active Record連接到本地數據庫。爲了測試它,我試圖運行下面的測試程序:當我運行ruby -rubygems test.rb
我得到這個使用RVM加載Sinatra應用程序的活動記錄gem時出錯
:
test.rb
require 'rubygems' # may not be needed, depending on platform
require 'sinatra'
require 'activerecord'
class Article < ActiveRecord::Base
end
get '/' do
Test.establish_connection(
:adapter => "sqlite3",
:database => "hw.db"
)
Test.first.content
end
(What's the best way to talk to a database while using Sinatra?從答案帶到了這個問題)錯誤:
/Users/[user]/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- activerecord (LoadError)
我已經安裝了Active Record的寶石,它在gem list
和rvm current
顯示的C顯示出來正確的寶石。我是RVM的新手,我認爲這與它沒有正確的加載路徑有關,但我覺得我已經正確設置了所有內容,所以我會很感激關於錯誤的建議。謝謝。
是的,就是這樣。謝謝。 – tks
他們爲什麼不把gem重命名爲active_record?這使我失去了很多時間,:( –
Gem名稱往往與它們作爲依賴關係的加載方式無關。只要看看我的項目的'Gemfile',我可以看到多個約定,其中沒有一個是一致的。 ,'capybara-webkit' VS'database_cleaner'。 –