2012-06-14 16 views
0

我正在尋找在頁面的一部分中顯示我的Flash消息,否則這部分頁面不會總是處於部分更新狀態。在頁面的一部分中顯示不是更新的flash消息

換句話說,我可以通過ajax提交一個更新部分的表單。但我想在部分頁面以外的部分顯示Flash消息。

我可以在每一個必要的js.erb文件中有一些javascript來更新flash部分,但這似乎很瘋狂。有沒有更簡單的方法來解決這個問題?

如果自定義功能更好,我不一定要使用Flash消息。

謝謝!

+1

部分是什麼?我偏愛比薩,但這可能不適用於此。 –

+0

@MarcB在rails中,'partial'是html模板的一部分,它被分解爲一個單獨的文件。 – cdesrosiers

+0

你如何進行Ajax調用和部分頁面更新?使用圖書館還是手卷? –

回答

0

您可以通過在窗體上使用:remote調用這種低技術方式來執行此操作,該操作在執行時會從部分選擇中將一些HTML注入到頁面中。

這是很容易在.rjs視圖做:使用jQuery

page['flash'].html(render(:partial => 'flash')) 

你也可以做一個.js.erb觀點:

$('#flash').html("<%= escape_javascript(render(:partial => 'flash')) %>"); 

我傾向於認爲.js.erb方法很多更醜陋,但我們都有我們的偏好。

+0

是的,我試圖避免必須在每個.js.erb文件中都有,但這可能是唯一的(或最好的)方法。 – 99miles

+0

這就是爲什麼'.rjs'是一個更簡單的方法。這只是一條線,不需要轉義。如果他們都做同樣的事情,你不需要有多個視圖。只是'render(:action =>'common_rjs')'其中'common_rjs'是您的共同視圖的名稱。 – tadman

相關問題