Мне нравится динамически менять параметры matplotlib rc в каждом скрипте python. Для достижения этой цели я просто использую нечто подобное в начале моих файлов python.
from pylab import *
rcParams['legend.numpoints'] = 1
Это применимо ко всем графикам, сгенерированным из моего файла python.
EDIT: For те, кто не любит импортировать пилаб, длинный ответ -
import matplotlib as mpl
mpl.rcParams['legend.numpoints'] = 1
Запись скота создается при вызове save
(и нет ошибки проверки). Таким образом, одним из вариантов является создание истории внутри этого условия if
:
if @livestock.save
Другой вариант - использовать обратный вызов after_create
в модели livestock
, который создаст объект history
сразу после создания livestock
. Вы должны быть осторожны, потому что обратный вызов может быть вызван, когда он вам не нужен (т.е. при импорте данных).
Последний вариант - создать отдельный сервисный объект, который создаст livestock
и все другие необходимые объекты. Это, вероятно, лучший подход, но он потребует более индивидуального кода.
Обновление
Также убедитесь, что вы переместили блок if / else за пределы блока respond_to
:
if @livestock.save
# create history object here
respond_to do |format|
format.html { redirect_to @livestock }
flash[:success] = "Livestock was successfully created"
format.json { render :show, status: :created, location: @livestock}
end
else
respond_to do |format|
format.html { render :new }
format.json { render json: @livestock.errors, status: :unprocessable_entity }
end
end