2017-09-10 5 views
0

記事/新しく出ているうちにこのエラーが発生します。記事を見ようとしているときにエラーが発生しました

enter image description here

私のコード:

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 

私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 

は、他のファイルのために私に尋ねます助けてください

答えて

2

問題は、あなたのnew.html.erbファイルに記述されている「終わり」の言葉でなければなりません。 endを囲む<%%>がありません。

ビュー内のすべてのルビコードは、<%%>または<%=%>の内部にある必要があることに注意してください。

+0

私は彼が近いですが、本当の問題は、単語が '' new.htmlの一番下にend'ということです –

+0

あなたが言っているあなたは、もう少し明確に例とすることができるか理解していません。 '<% end %>' – jrabramson

+0

はい@jrabramson、あなたは正しいです。私は答えを更新しました。 –

0

あなたのERBファイルには、あなたはまた、誤ってフォームのブロックを閉じている、ifとそれぞれのブロックを閉じていない多くのエラー

  • if @article.errors.any?ないif @article.error.any?
  • を持っています。

以下のコードを確認してください。

<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

ありがとう –

関連する問題