2016-06-12 5 views
1

Ich suchte nach einer Antwort, bevor ich hierher kam, aber nichts gefunden. Ich habe dies in meinem ControllerDie Flash-Nachricht zeigt nicht "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 

und ich füge hinzu dies in meinem application.html.erb:

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

und hier ist mein show.html.erb:

<h1>Showing selected article</h1> 

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

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

Nach dem Abschicken des Formulars gehe ich zur Show-Seite, die Flash-Nachricht wird nicht angezeigt. Warum?

+0

kann ich einen Link zu Ihrem Github Repo erhalten? Ich arbeite an demselben Kapitel. Bitte fügen Sie auch Ihre session_controller.rb und account_activation_controller.rb Dateien hinzu – Nirupa

+0

Hier ist meine GitHub Repo - https://github.com/sam0191/alpha-blog - – sam0101

+0

ist dies über Michael Hartl Tutorial? Kapitel 10? – Nirupa

Antwort

2

Ich schau dir in die GitHub Repo haben, so scheint es, dass Sie nicht wie Ihr Layout verwenden application.html.erb, weil Ihre Artikel Controller von ActionController::Base

vererbt Es gibt zwei Möglichkeiten, wie Sie dies tun können.

Sie können entweder Ihre Controller-Datei ändern von Application zu erben:

class ArticlesController < ApplicationController 

end 

Oder Sie können Standard-Layout mit der Controller-Datei hinzufügen:

class ArticlesController < ActionController::Base 
layout 'application' 

end 

Hoffen, dass es Ihr Problem löst.

+0

Großartig, das war mein Problem, dass die Artikel-Controller von Anwendung Controller erben müssen ... Vielen Dank dafür – sam0101

+0

Ich kann noch upvote, weil ich noch nicht 15 Punkte habe .. aber wie diese Frage als die richtige markieren? Ich weiß nicht ?? ... Auch ich stelle den Link Ihrer Antwort zur Kursgemeinschaft zur Verfügung, an der ich teilnehme – sam0101