Configuré un gemset RVM a nivel de proyecto para una aplicación sinatra que estoy iniciando y que se conectará a una base de datos local con Active Record. Con el fin de probar que traté de ejecutar la aplicación de prueba a continuación:Error al cargar la gema Active Record con la aplicación sinatra usando 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
(Tomado de la respuesta a esta pregunta: What's the best way to talk to a database while using Sinatra?)
Cuando corro ruby -rubygems test.rb
consigo este de error:
/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)
ya he instalado la gema Active Record y se nota en gem list
rvm current
y muestra el distintivo C orrect gemset. Soy nuevo en RVM y creo que esto tiene que ver con que no tiene la ruta de carga correcta, pero creo que configuré todo correctamente, así que agradecería sugerencias sobre lo que está mal. Gracias.
sí, eso fue todo. Gracias. – tks
¿Por qué no cambian el nombre de la gema a active_record? Esto me hizo perder mucho tiempo, :( –
Los nombres de las gemas tienden a no correlacionarse con la forma en que se cargan como dependencias. Solo mirando el 'Gemfile' de mi proyecto puedo ver varias convenciones, ninguna de las cuales es consistente. Por ejemplo , 'capybara-webkit' VS' database_cleaner'. –