Я пытаюсь настроить кнопку предварительного просмотра в форме редактирования на основе railscast Райана Бейтса.Есть две кнопки [редактировать] и [обновить].
Когда пользователь нажимает кнопку предварительного просмотра, вызывается функция «обновление» в контроллере.Если я просто установлю переменную @article на основе поиска таблицы статей (согласно приведенному ниже контроллеру), кнопка предварительного просмотра сбрасывает значения в форме на сохраненные данные, и я теряю свои правки.
Есть лиКак у меня может быть режим предварительного просмотра обновлений?Новый работает отлично, только редактирование имеет эту проблему.
def update
@article = Article.find(params[:id])
if params[:preview_button] || !@article.update_attributes(params[:article])
render :action => 'edit'
else
respond_to do |format|
format.html { redirect_to(@article, :notice => 'Article was successfully updated.') }
end
end
end
Редактировать: я попытался использовать приведенный ниже код
if params[:preview_button] || !@article.update_attributes(params[:article])
@article = Article.new(params[:article])
render :action => 'edit'
else
, который сохраняет данные, однако есть побочный эффект.Нажатие кнопки предварительного просмотра из [http://localhost:3000/articles/4/edit] перенаправления на [http://localhost:3000/articles/4] повторное нажатие здесь] приводит к новому виду [http://localhost:3000/articles].