has_many :owners, through: :owner_mails
end
class OwnerMail < ApplicationRecord
belongs_to :administradora_owner, class_name: "Administradora::Owner", foreign_key: :administradora_owner_id
belongs_to :junta_mail, class_name: "Junta::Mail", foreign_key: :junta_mail_id
end
Me permite crear, hice:
OwnerMail.create!(administradora_owner_id: 5, junta_mail_id: 3, created_at: "2017/04/04", updated_at: "2017/04/04")
Funcionó
Pero no puedo hacer:
Administradora::Owner.find(5).owner_mails
Me dice:
2.3.1 :034 > a = Administradora::Owner.find(5).owner_mails
Administradora::Owner Load (0.7ms) SELECT "administradora_owners".* FROM "administradora_owners" WHERE "administradora_owners"."id" = $1 LIMIT $2 [["id", 5], ["LIMIT", 1]]
OwnerMail Load (0.3ms) SELECT "owner_mails".* FROM "owner_mails" WHERE "owner_mails"."junta_mail_id" = $1 [["junta_mail_id", 5]]
=> #<ActiveRecord::Associations::CollectionProxy []>
La asociación está vacia no trae nada del join table
En schema.rb:
create_table "administradora_owners", force: :cascade do |t|
t.string "cedula"
t.string "nombre"
t.string "apellido"
t.date "fecha_nacimiento"
t.string "telefono_local"
t.string "celular1"
t.string "celular2"
t.string "correo"
t.integer "administrador_administradoras_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["administrador_administradoras_id"], name: "index_administradora_owners_on_administrador_administradoras_id", using: :btree
end
create_table "junta_mails", force: :cascade do |t|
t.string "asunto"
t.string "mensaje"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "owner_mails", force: :cascade do |t|
t.integer "administradora_owner_id"
t.integer "junta_mail_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["administradora_owner_id"], name: "index_owner_mails_on_administradora_owner_id", using: :btree
t.index ["junta_mail_id"], name: "index_owner_mails_on_junta_mail_id", using: :btree
end