Наличие трех моделей: Datum, Author и Book.
class Datum < ApplicationRecord
has_many :authors
end
class Book < ApplicationRecord
belongs_to :author
end
class Author < ApplicationRecord
belongs_to :datum
has_many :books, dependent: :destroy
end
Для целей упражнения я хотел смоделировать, чтобы у Datum (более общего характера) было много авторов, у которых могут быть книги.
После создания базового объекта и связанного с ним автора я мог бы назвать nameofdatum.authors, но если я добавлю книгу этому автору, он не сможет быть распознан через nameofdatum.authors.books. У меня неправильные ожидания? (Если это будет сделано с помощью «до» (объяснение этого было бы очень ценно)
(здесь схема при необходимости)
create_table "authors", force: :cascade do |t|
t.string "name"
t.integer "age"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "book_id"
t.integer "datum_id"
t.index ["book_id"], name: "index_authors_on_book_id"
t.index ["datum_id"], name: "index_authors_on_datum_id"
end
create_table "books", force: :cascade do |t|
t.string "name"
t.string "book_type"
t.integer "pages"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "author_id"
t.index ["author_id"], name: "index_books_on_author_id"
end
create_table "data", force: :cascade do |t|
t.string "region"
t.integer "budget"
t.date "aval"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end