2011-06-25 99 views
1

在我的Rails3應用程序中,我有一個Model1中的方法,當Model1被更新並且滿足某些條件時創建其他對象。所以我在Model1中有一個after_update回調方法來完成這項工作。我想將消息傳遞迴控制器以顯示在頁面上,但閃光燈在模型中不可用。Rails3:顯示來自模型的消息?

什麼是正確的方法來做到這一點?

回答

1

如果你的事情模式有普通的舊attr_accessor :messages那麼你的控制器可以這樣做:

def update 
    @thing = Thing.find params[:id] 

    if @thing.update_attributes 
    redirect_to root_path, :notice => "The messages are #{@thing.messages}" 
    else 
    render 'edit' 
    end 
end 

的消息將不會被保存@thing不過沒關係,他們只需要足夠長的時間來進入生活下一行的閃光通知。

+0

我認爲我應該添加一個訪問器到我的模型並使用它?好的,我這樣做了。我在after_initialize中添加了attr_accessor:messages和init'd作爲數組(所以我可以返回多個消息)。然後我將其追加到我的方法中,並在我的視圖中修改它的顯示以顯示數組中的所有消息。 所以這是工作,但我想我認爲Rails會爲此提供一些東西。並不是說這太複雜了,看來Rails對所有的東西都有答案! ;-) –

+0

忘了說,謝謝你回答我的問題。 –

+0

這就是鐵軌開發的本質 - 總是在猜測自己,認爲必須有一個更簡單的方法! – chrismealy