Предотвращение загрузки flash на нежелательных страницах при использовании Rails и Turbo Links

У меня проблема с тем, что мое быстрое сообщение задерживается на страницах, на которых я не хочу, чтобы оно появлялось.

Я использую Rails 4 с турбо-ссылками.

Хотя я очень люблю турбо-ссылки, я думаю, что это может быть проблемой.

В моем контроллере rails я устанавливаю вспышку желания следующим образом:

def show
     if item.status == "In Progress" || item.status == "draft"
            flash[:alert] = "Please remember: the status of this text is draft. You have been granted access through the generosity of the editor. Please use the comments to help make suggestions or corrections."
     end
 end

Но затем, когда я нажимаю на ссылку, и турбо-ссылки загружают новую страницу, вспышка появляется снова.

Любые идеи о том, как предотвратить это, продолжая использовать турболинки.


person Jeff    schedule 12.05.2015    source источник
comment
используйте flash.now[:alert], он не будет доступен следующему действию, только текущему.   -  person Archie Reyes    schedule 12.05.2015


Ответы (1)


Вы можете очистить флэш-сообщение в before_action в контроллере приложения. В application_controller.rb

before_action :clear_flash

def clear_flash
  flash.discard
end

Или просто измените свой код на:

def show
 if item.status == "In Progress" || item.status == "draft"
        flash.now[:alert] = "Please remember: the status of this text is draft. You have been granted access through the generosity of the editor. Please use the comments to help make suggestions or corrections."
 end    
end
person Abhishek Kant    schedule 12.05.2015