Przygotowałem gemset RVM poziomu projektu dla aplikacji Sinatra, którą uruchamiam, która połączy się z lokalną bazą danych z aktywnym rekordem. W celu przetestowania go próbowałem uruchomić aplikację testową poniżej:Błąd podczas ładowania klejnotu Active Record przy użyciu aplikacji Sinatra przy użyciu RVM
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
(wzięte z odpowiedzią na to pytanie: What's the best way to talk to a database while using Sinatra?)
Kiedy biegnę ruby -rubygems test.rb
uzyskać to błąd:
/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)
ja już zainstalowany Active Record klejnot i to widać w gem list
i rvm current
wyświetlaczy katalogu c orrect gemset. Jestem nowy w RVM i myślę, że ma to coś wspólnego z tym, że nie ma prawidłowej ścieżki ładowania, ale mam wrażenie, że wszystko ustawiłem prawidłowo, więc doceniłbym sugestie co jest nie tak. Dzięki.
tak to było. Dzięki. – tks
Dlaczego nie zmieniają nazwy klejnotu na active_record? To sprawiło, że straciłem dużo czasu :( –
Nazwy klejnotów zwykle nie korelują z tym, jak są ładowane jako zależności. Po prostu patrząc na "Gemfile" mojego projektu widzę wiele konwencji w miejscu, z których żadna nie jest spójna. , 'capybara-webkit' VS' database_cleaner'. –