Hola a todos.
Estoy empezando a conocer rails leyendo el libro “Beginning Rails from
beginning to professional” , y resulta que me paso algo absurdo
siguiendo el proyecto que manejan para los ejemplos dentro del libro,
tengo los siguientes codigos
en …/events/app/model/user.rb
class User < ActiveRecord::Base
has_many :events
has_many :registrations
has_many :activities, :through => :registrations, :source => :event
end
en …/events/app/model/event.rb
class Event < ActiveRecord::Base
belongs_to :user
has_many :registrations
has_many :attendees, :through => :registrations, :source => :user
has_and_belongs_to_many :categories
end
en …/events/app/model/registrations.rb
class Registrations < ActiveRecord::Base
belongs_to :user
belongs_to :event
end
en …/events/db/migrate/006_create_registrations.rb
class CreateRegistrations < ActiveRecord::Migration
def self.up
create_table :registrations do |t|
t.column :user_id, :integer
t.column :event_id, :integer
t.column :note, :string, :length => 400
t.column :created_at, :datetime
# t.column :name, :string
end
end
def self.down
drop_table :registrations
end
end
cabe mencionar que estan igualitos a como los presenta el libro, (al
principio pense que era problema mio que lo habia escrito mal o algo asi
y no ,estan igualitos a el libro) la tabla de registrations si se creo.
El problema viene cuando pruebo en consola la asociacion en cuestion el
has_many el libro me dice que haga esto:
event = Event.find(:first)
=> #Event:0x3258d2c
user = User.create(:login => ‘simon’, :email => ‘[email protected]’,
:password ➥
=> ‘secret’)
=> #User:0x3251b1c
estos datos ya estan en la base
user.registrations.any? #aqui es donde ya no funciona
me sale el siguiente error
NameError:
./script/…/config/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active_support/dependencies.rb:100:in
const_missing': uninitialized constant Registration from ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/base.rb:1246:in
compute_type’
from
./script/…/config/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active_support/dependencies.rb:131:in
const_missing' from ./script/../config/../config/../vendor/rails/activerecord/lib/../../activesupport/lib/active_support/dependencies.rb:133:in
send’
from
./script/…/config/…/config/…/vendor/rails/activerecord/lib/…/…/activesupport/lib/active_support/dependencies.rb:133:in
const_missing' from (eval):1:in
compute_type’
from
./script/…/config/…/config/…/vendor/rails/activerecord/lib/active_record/reflection.rb:112:in
send' from ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/reflection.rb:112:in
klass’
from
./script/…/config/…/config/…/vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb:174:in
construct_sql' from ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/associations/has_many_association.rb:6:in
initialize’
from
./script/…/config/…/config/…/vendor/rails/activerecord/lib/active_record/associations.rb:876:in
new' from ./script/../config/../config/../vendor/rails/activerecord/lib/active_record/associations.rb:876:in
registrations’
from (irb):5
ya no se que probar, no entiendo porque no funciona
espero me puedan ayudar, Gracias de antemano.