2016-06-12 1 views
1

J'ai cherché une réponse avant de venir ici mais je n'ai rien trouvé. J'ai dans mon contrôleurLe message de notification flash n'affiche pas "ruby on rails"

def create 
    @article = Article.new(article_params) 
    if @article.save 
     flash[:notice] = "Article was successfully created" 
     redirect_to article_path(@article) 
    else 
     render 'new' 
    end 
end 

et ajouter dans mon application.html.erb:

<body> 
    <% flash.each do |name, msg| %> 
    <ul> 
     <li><%= msg %></li> 
    </ul> 
    <% end %> 
<%= yield %> 

et voici mon show.html.erb:

<h1>Showing selected article</h1> 

<p> 
    Title: <%= @article.title %> 
</p> 

<p> 
    Description: <%= @article.description %> 
</p> 

Après avoir soumis le formulaire je vais à la page d'affichage, l'avis de flash ne s'affiche pas. Pourquoi?

+0

Puis-je avoir un lien vers votre dépôt de github? Je travaille sur le même chapitre. Aussi s'il vous plaît ajouter vos fichiers session_controller.rb et account_activation_controller.rb – Nirupa

+0

Voici mon repo github - https://github.com/sam0191/alpha-blog - – sam0101

+0

est-ce sur le tutoriel de Michael Hartl? Chapitre 10? – Nirupa

Répondre

2

Je regarde dans votre repo github, il semble que vous n'utilisez application.html.erb que votre mise en page, parce que votre contrôleur de l'article est héritée de ActionController::Base

Il y a 2 façons de le faire.

Vous pouvez modifier votre fichier de contrôleur pour hériter de ApplicationController:

class ArticlesController < ApplicationController 

end 

Vous pouvez également ajouter la mise en page par défaut dans le fichier du contrôleur:

class ArticlesController < ActionController::Base 
layout 'application' 

end 

Espérons que cela résout votre problème.

+0

Super, c'était mon problème que les contrôleurs d'articles doivent hériter de contrôleur d'application ... Merci beaucoup pour cela – sam0101

+0

Je ne peux toujours pas upvote parce que je n'ai pas encore 15 points .. mais comment marquer cette question comme la bonne? Je ne sais pas ?? ... Aussi je fournis le lien de votre réponse à la communauté de cours avec laquelle je participe – sam0101