Я не могу изменить существующие отношения в RoR.
Db схема - это пользователи (id), книги (id, title), рейтинги (user_id, book_id, rating)
Модели
class User < ActiveRecord::Base
has_many :ratings
end
class Rating < ActiveRecord::Base
belongs_to :user
belongs_to :book
end
class Book < ActiveRecord::Base
has_many :ratings
end
Создание нового рейтинга с помощью book.ratings.build (: user_id => 1,: rating => 5); book.save работает нормально, но я не могу изменить существующий рейтинг с помощью
r = book.ratings.where(:user_id => 1).first
r.rating = 5
book.save не сохраняет соответствующую оценку, а r.save вызывает ошибку в столбце rating.id. Есть ли способ заставить вещи работать без изменения схемы БД?