2011-05-23 27 views
3

我正在使用rails 3.0.7。在控制器中,我有:respond_with重定向通知flash消息不工作

def create 
    @subscription = Subscription\ 
     .new_from_nested_attributes_parameters(params[:subscription]) 

    if @subscription.save 
     flash[:notice] = 'The Subscription was successfully created.' 
    end 

    respond_with @subscription 
    end 

,並在視圖:

<%="Notice:#{flash[:notice]}"%> 

不盡管該對象被正確保存打印任何東西。

你有什麼想法解決這個問題嗎?

回答

7

我發現了這個問題。

flash [:notice] =「....」在創建操作中正常工作,重定向到show操作。

我忘了我的'show'是由一個重定向來編輯的。

def show 
    redirect_to edit_subscription_path(@subscription),flash 
end 

從Rails的3.1,這應該完成:

def show 
    flash.keep 
    redirect_to edit_subscription_path(@subscription) 
end 
1

可以跳過顯示頁面:

我通過執行show動作這樣解決了這個問題

而不是:

respond_with @subscription 

地說:

respond_with @subscription, edit_subscription_path(@subscription) 
+0

這是否保持閃光? – 2011-11-29 10:43:19

+0

這不適用於重定向到subscriptions_path(即#index) – James 2013-07-01 18:16:56

2

在Rails 3.2,下面的工作,似乎保持完好閃光:

respond_with @subscription, :location => edit_subscription_path(@subscription)