1
在我的Rails3應用程序中,我有一個Model1中的方法,當Model1被更新並且滿足某些條件時創建其他對象。所以我在Model1中有一個after_update回調方法來完成這項工作。我想將消息傳遞迴控制器以顯示在頁面上,但閃光燈在模型中不可用。Rails3:顯示來自模型的消息?
什麼是正確的方法來做到這一點?
在我的Rails3應用程序中,我有一個Model1中的方法,當Model1被更新並且滿足某些條件時創建其他對象。所以我在Model1中有一個after_update回調方法來完成這項工作。我想將消息傳遞迴控制器以顯示在頁面上,但閃光燈在模型中不可用。Rails3:顯示來自模型的消息?
什麼是正確的方法來做到這一點?
如果你的事情模式有普通的舊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
不過沒關係,他們只需要足夠長的時間來進入生活下一行的閃光通知。
我認爲我應該添加一個訪問器到我的模型並使用它?好的,我這樣做了。我在after_initialize中添加了attr_accessor:messages和init'd作爲數組(所以我可以返回多個消息)。然後我將其追加到我的方法中,並在我的視圖中修改它的顯示以顯示數組中的所有消息。 所以這是工作,但我想我認爲Rails會爲此提供一些東西。並不是說這太複雜了,看來Rails對所有的東西都有答案! ;-) –
忘了說,謝謝你回答我的問題。 –
這就是鐵軌開發的本質 - 總是在猜測自己,認爲必須有一個更簡單的方法! – chrismealy