2016-03-29 4 views
1

Я разработал два уведомления об ошибках для моего приложения 4 рельсов. Сначала предполагается, что он появится на всех страницах (когда произойдет событие), поэтому я написал его в файле application.html.erb. Второй должен отображаться только на целевой странице со своим пользовательским CSS.избегая application.html.erb для уведомлений о флэш-памяти на целевой странице приложения rails

Прямо сейчас, оба показаны на целевой странице. Как я могу избежать первого (написанного на application.html.erb) только для моей целевой страницы?

ответ

0

Если вы хотите, чтобы избежать предоставления ваших флэш уведомления для конкретного controller или action, то вы можете сделать что-то вроде этого -

<% unless params[:action] == 'something' %> 
    <% flash.each do |key, value| %> 
    <div class="alert alert-<%= key %>"><%= value %></div> 
    <% end %> 
<% end %> 
+0

OMG .. это работает .. спасибо много .. –

+0

@SohailAslam Рад, что это сработало для вас! :) Вы можете принять это как ответ, если он решил вашу проблему. – dp7

+0

сделано .. еще раз спасибо –

0

Вы можете проверить для контроллера & действия в application.html.erb, чтобы показать флэш-сообщения, как: учитывая корневой путь: root "home#index" где home является контроллером и index является действием.

<% unless controller_name == 'home' && action_name == 'index' %> 
    <% flash.each do |key, value| %> 
    <div class="alert alert-<%= key %>"><%= value %></div> 
    <% end %> 
<% end %> 

Это будет работать для вас и я хочу, чтобы вы дали попробовать на gem 'metamagic' для дальнейшего рассмотрения.

+0

спасибо много брату .. это сработало .. :) –

 Смежные вопросы

  • Нет связанных вопросов^_^