データベース操作に別のRails APIを使用するrails 5.0.1 app(App 1)が動作しています。 App1はアクティブレコードを使用していませんが、FlexiRestをApiコールに使用しています。更新が失敗した場合、レスキューブロックにユーザ入力データをレンダリングする
作成または更新メソッドが呼び出されると、すべてのデータがjson形式でrails apiに送信されます。 apiが何らかのエラーをスローする場合は、レスキューブロック内にキャッチする必要があります。また、ユーザーが入力したデータは、レスキュー後にレンダリングした後にレンダリングする必要があります(レンダリング用):
ここは私のコードは
def update
respond_to do |format|
begin
if @booking.update({id: @booking.booking.id, booking: booking_params})
format.html { redirect_to excel_front_innstats_path, notice: display_notice(t("label.detailed_reservation.reservation")) }
else
format.html { render :edit }
end
rescue => e
#here assign the booking object with user entered data,
#so that the form will not loose the data
#if exception occurs
flash_error_message(:error, e.result)
format.html { render :edit }
end
end
end
コードの結果を、あなたが思うものと結果の違いを追加してください。 –
あなたの質問は何ですか? – mudasobwa
@artgb now editはデータベースにあるデータでビューをレンダリングします。ユーザーが送信したフォームのデータが必要です。 –