Как правильно оформить метод Create и сохранить объекты в БД?

Есть книга, в каждой книге страницы, в странице есть иллюстрации. Связь соответствующая.
При создание новых иллюстраций на странице в БД сохраняется только id страницы.

Как можно сохранить еще и id книги?

def create
  @book = Book.friendly.find(params[:book_id])
  @page = @book.pages.friendly.find(params[:page_id])
  @picture = @page.images.new(image_params)
  if @picture.save
    ...
  end
end

private
def image_params
  params.require(:picture).permit(:book_id, :picture)
end


Использую gem 'friendly_id'
  • Вопрос задан
  • 2262 просмотра
Решения вопроса 1
@thepry
Ruby on rails, 1С разработчик
А у picture есть поле book_id?
@picture.book = @book срабатывает?

Update: А, ну похоже проблема в том, что у вас :book_id строковый, а в поле нужно писать integer. Как вариант, можно в методе image_params находить книгу и добавлять ее в параметры. Не знаю, правда, насколько это хорошая практика.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы