Используя response_with, как я могу прошить уведомление с ответом ajax? - PullRequest
1 голос
/ 19 февраля 2012

Метод flash показывает сообщение только после перезагрузки страницы ... что мне делать, чтобы оно отображалось при использовании: remote => true?

1 Ответ

2 голосов
/ 19 февраля 2012

если вы используете: remote => true, вы на самом деле делаете Ajax-запрос.в этом случае флэш не будет работать.

Вам нужна функция js, которая имитирует это флэш-сообщение.

У меня обычно это есть: (Mootools, но вы, вероятно, получитеидея)

showMessage: function(message, style, addReload)
    {
        var class_name = style + "_message message";

        var flash = $("flash_message");

        if (flash) {
            flash.dispose();
        }

        flashElement = new Element("div", {
            id: 'flash_message'
        });
        flashElement.set('class', class_name);

        var strong = new Element('strong', { 
                                html: message
                                });

        if(addReload)
        {
            strong.adopt(
                            new Element("a", {href: window.location, html: 'Reload'})
                        );
        }

        flashElement.adopt(
                            strong
                        );


        flashElement.inject($("mainPageContainer"));
        Site.show_message();
    },

Всякий раз, когда я использую: remote => true, у меня это в представлении js

<% flash.discard %>
Dashboard.showMessage('Comment added and was sent to clients', 'notice');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...