Ответ 1
Насколько я могу судить, требуется, чтобы "activerecord" устарел. Попробуйте использовать
require 'active_record'
вместо.
Я установил gemset для RVM уровня проекта для приложения sinatra, с которого я начинаю подключаться к локальной базе данных с Active Record. Чтобы протестировать его, я попытался запустить следующее тестовое приложение:
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
(Взято из ответа на этот вопрос: Каков наилучший способ поговорить с базой данных при использовании Sinatra?)
Когда я запускаю ruby -rubygems test.rb
, я получаю эту ошибку:
/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
отображает правильный гемсет. Я новичок в RVM, и я думаю, что это связано с тем, что у него нет правильного пути загрузки, но я чувствую, что все правильно настроено, поэтому я буду благодарен за предложения о том, что случилось. Спасибо.
Насколько я могу судить, требуется, чтобы "activerecord" устарел. Попробуйте использовать
require 'active_record'
вместо.
Если вы еще не установили атрибут activerecord, вы также получите эту ошибку:
Откройте командную строку и запустите эти команды в терминале:
#Find if the active record gem is already installed on your computer:
gem query --local
#See the downloadable gems, and see if activerecord is still available:
gem query --remote --name-matches activerecord
#Install your gem:
gem install --remote activerecord
#See if it installed successfully and is in the installed gem list:
gem query --local
Вот какой код, который использует камень ActiveRecord, чтобы убедиться, что все настроено правильно:
#Ruby code
require 'active_record'
class Dog < ActiveRecord::Base
has_many :dog_tags
end
puts "activerecord gem is installed";
Если все работает, оно будет печатать "immetecord gem установлен" без каких-либо ошибок.