2013-07-14 28 views
0

我確信這裏有答案,但我不完全確定如何恰當地說出這個問題,所以如果這是重複的,我很抱歉。如何在Rails中發生事件時觸發模態

我正在爲網站實施徽章/成就係統。後端的東西在那裏,但我現在正在開發前端,而我基本上正在設法弄清楚如何重定向到某種「恭喜!」。有人獲得新徽章時的頁面。

祝賀頁面將成爲一種模式,但爲了簡單起見,如果任何人有創建新徽章時只觸發一次此類動作的想法,這將是一個巨大的幫助。現在,當用戶執行給定操作時,比如說...向他們的帳戶添加資金,會創建一個user_badge(將徽章ID添加到數組中)。

在此先感謝!

+0

你的意思是jQuery的UI模式??? – beck03076

回答

0

您可以使用before_filter進行操作,在那裏您要檢查是否出現了新徽章(可能您不希望在身份驗證操作中檢查它,因此您無法使用全局before_filter)。那麼如果用戶有新徽章,則可以在篩選前使用redirect_to

但是我不建議這樣做,因爲您會打破用戶流。最好在下一個請求的頁面上顯示警報/模式。爲了達到這個目的,你可以在你的before_filter(如@show_modal)中定義一個新的實例變量,並將包含模態的部分包含到頁腳中。

例如:

#before filter 
def check_for_new_badges 
    if current_user.has_new_badges? 
    @show_modal = true 
    current_user.set_badges_as_seen! 
    end 
end 

#included in layout 
- if @show_modal 
    = render 'shared/congrats_modal' 
相關問題