我正在使用我的模態中的驗證檢查錯誤。這工作正常,並顯示錯誤消息(我用調試器來確認這一點)。現在來了我的棘手部分。在重定向到新視圖時保留來自驗證的錯誤消息?
當驗證失敗我做這在我的代碼,所以現在:
def create
checked_segment_topics = params[:checked_segment_topics].split(",")
@menu = Menu.create_menu(checked_segment_topics, menuparams)
if @menu == true
redirect_to menus_path
else
redirect_to newmenu_path
end
end
因爲我做一個重定向到一個新的觀點,錯誤消息未顯示。我嘗試渲染和問題是它追加到窗體的ID UUID。正因爲如此,我的JavaScript代碼失敗。在表單提交之前,我必須找到表單ID進行一些計算。
我的routes.rb文件的相關部分是在這裏:
get '/menus' => 'menus#index'
get '/newmenu' => 'menus#new'
resources :menus, only: [:new, :create, :edit, :update, :destroy]
有人能指導我在正確的方向?
你見過這個http://stackoverflow.com/questions/1168017/how-do-i-store-an-instance-variable-across-multiple-actions-in-a-controller? –
我不想將它放在會話變量中或使用@@變量。 – defiant
然後我想到的另一種方法是在第一個控制器中執行'save(validate:false)',然後將其加載到第二個控制器中並使用'valid?'運行驗證。 –