Hola, estoy relacionando dos modelos para crear una relación has and
belongs to many:
Documento.rb
class Documento < ActiveRecord::Base
has_and_belongs_to_many :etiquetas
end
Etiqueta.rb
class Etiqueta < ActiveRecord::Base
has_and_belongs_to_many :documentos
end
Y la tabla intermedia tal como dice las reglas debe ser por orden
alfabético y me crea documentos_etiquetas:
DocumentosEtiqueta.rb
class DocumentosEtiqueta < ActiveRecord::Base
belongs_to :documento
belongs_to :etiqueta
end
Cuando voy a borrar un documento:
doc=Documento.find(params[:id])
doc.destroy
me salta un error buscando Documento::Etiqueta
uninitialized constant Documento::Etiqueta
|RAILS_ROOT: /home/sonoratec/public_html/sonoratec.net/subdomains/ivaj|
http://ccaa-juventud.eu/admin/documentos/delete#
/usr/lib/ruby/gems/1.8/gems/activesupport-2.0.2/lib/active_support/dependencies.rb:478:in
`const_missing’
|/usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1750:in compute_type' /usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/reflection.rb:125:in
send’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/reflection.rb:125:in
klass' /usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/associations/has_and_belongs_to_many_association.rb:132:in
construct_sql’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/associations/has_and_belongs_to_many_association.rb:6:in
initialize' /usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/associations.rb:1032:in
new’
/usr/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/associations.rb:1032:in
etiquetas' (eval):3:in
destroy_without_callbacks’
app/controllers/documentos_controller.rb:152:in delete' app/controllers/documentos_controller.rb:148:in
each’
app/controllers/documentos_controller.rb:148:in delete' /usr/bin/mongrel_rails:19:in
load’
/usr/bin/mongrel_rails:19|
Otras veces he usado el has_many y la opción trought, pero esta vez lo
he hecho con has belongs porque la tabla intermedia no tiene atributos,
estoy creándolo mal?