0

わかりました、別の厄介な問題です。

次のようなインデックスアクションを持つGuestsControllerがあります:

def index
  @booking = Booking.find(session[:booking_id]) #i have also hard coded values to make sure the session isn't the issue
  @guest = Guest.find(session[:guest_id])
end

および個人的なアクション (更新を実行する) は次のとおりです。

def personal
  @guest = Guest.find(session[:guest_id])
  if @guest.update(post_params)
    redirect_to :controller => 'guests', :action => 'cards'
  else
    render 'index'
  end
end

私の index.html.erb ビューは @booking 変数を使用します:

<%= @booking.friendly_id %> #this is one example

また、個人アクションに「名前」フィールドを送信するためのフォームも含まれています。データが有効な場合は正常に更新されますが、無効な場合は @booking 変数が存在しませんか???

検証エラーを表示する必要があるため、redirect_to だけを使用することはできません。

私が得るエラーは次のとおりです。

何か案は?

4

3 に答える 3

1

定義を before_filter に移動@bookingしてはどうですか?@guest

before_filter do
  @booking = Booking.find(session[:booking_id]) #i have also hard coded values to make sure the session isn't the issue
  @guest = Guest.find(session[:guest_id])
end
于 2013-09-14T17:25:33.467 に答える