2017-09-10 4 views
0

Je reçois cette erreur en allant dans les articles/nouveau.erreur en essayant de voir les articles

enter image description here

mon code:

new.html.erb:

<h1>Create an article</h1> 
<%if @article.error.any? %> 
<ul> 
    <% @article.errors.full_messages.each do |msg| %> 
    <li> <%= msg %> </li> 
</ul> 



<%= form_for @article do |f| %> 

<p> 
    <%= f.label :title %> 

    <%= f.text_field:title %> 

</p> 
<p> 
    <%= f.label :description %> 
    <%= f.text_area :description %> 

</p> 
<p> 
    <%= f.submit %> 

</p> 
    end 

mon fichier articles_controller.erb:

class ArticlesController < ApplicationController 

    def new 
    @article = Article.new 
    end 

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

    private 
    def article_params 
     params.require(:article).permit(:title, :description) 
    end 
end 

me demander pour tout autre fichier si aide

Répondre

2

Le problème devrait être le "fin" mot qui glissent sur votre fichier new.html.erb. Il vous manque le <%%> entourant le end. Rappelez-vous que tout le code ruby ​​dans une vue doit être à l'intérieur de <%%> ou <%=%>.

+0

Je ne comprends pas ce que vous dites que vous pouvez être un peu plus clair avec un exemple –

+0

Il est proche, mais la vraie question est que le mot end' au bas de 'new.html. erb' devrait être '<% end %>' – jrabramson

+0

Ouais @jrabramson, vous avez raison. J'ai mis à jour la réponse. –

0

Votre fichier Erb a beaucoup d'erreurs

  • if @article.errors.any? pas if @article.error.any?
  • vous ne fermons pas les blocs de si et chacun, vous fermez également le bloc de la forme à tort.

vérifiez le code ci-dessous.

<h1>Create an article</h1> 
<% if @article.errors.any? %> 
    <ul> 
    <% @article.errors.full_messages.each do |msg| %> 
     <li> <%= msg %> </li> 
    <% end %> 
    </ul> 
<% end %> 
<%= form_for @article do |f| %> 
    <p> 
    <%= f.label :title %> 
    <%= f.text_field:title %> 
    </p> 
    <p> 
    <%= f.label :description %> 
    <%= f.text_area :description %> 
    </p> 
    <p> 
    <%= f.submit %> 
    </p> 
<% end %> 
+0

merci cela m'a beaucoup aidé –