Вы пробовали что-нибудь подобное? Обратите внимание, что вы не управляете ошибками здесь
def create
song = Song.create(song_params)
redirect_to song_path(song)
end
def update
song = Song.find(params[:id])
song.update(song_params)
redirect_to song_path(song)
end
private
def song_params
params.require(:song).permit(:title, :rating, :artist_id)
end
В этой строке вы просто вносите белый список имен этих трех параметров в объект песни, и этот метод вызывается в действиях create
и update
params.require(:song).permit(:title, :rating, :artist_id)
Это означает, что если duration
было отправлено внутри объекта песни, этот атрибут не изменился, потому что он не внесен в белый список