2017-12-20 5 views
0

私はレールには非常に新しいです。過去にRailsで成功した実績がありましたが、私が手に入れられないエラーが発生しています。テンプレートが欠落しています - テンプレートが欠けています

{:locale => [:en]、:formats => [:html]、:variants => []:ハンドラー=> [:未処理のテンプレート/ ctonepostsは、 :erb、:html、:builder、:ruby、:coffee、:jbuilder]}。

奇妙なことは、コードが機能しなくなるまで投稿を作成するためにform_forを使用することができたことです。私は、Web上の私のアプリで動的に追加できる2つの投稿を持っています。これに続いて、私は(私はテストのためで行きましたまで、すべてが大丈夫だった!)工夫の宝石を追加し、ポストにユーザーを割り当てるプロセスを開始した

これは私のコントローラである:

class CtonepostsController < ApplicationController 
    def index 
     @ctoneposts = Ctonepost.all 
     @ctoneposts = Ctonepost.order(created_at: :desc) 
    end 

    def create 
     post_params = params.require(:ctonepost).permit(:content) 

     @ctonepost = Ctonepost.new(content: post_params[:content]) 

     if @ctonepost.save 
      redirect_to ctoneposts_path 
     else 
      render ctoneposts_path 
     end 
    end 

end 

私はエラーを取得していますレンダリングctoneposts_pathの周り。

これは私のindex.html.erbファイルです:

<%= render "ctoneform" %> 
<br> 

<%= render @ctoneposts %> 

_ctonepost.html.erb:

<div class="col-xs-8"> 
    <p><%= ctonepost.content %></p> 
    <small><%= ctonepost.created_at.strftime("%b %d, %Y") %></small> 
</div> 

マイビューが部分的です。私は(私は何をやったのか覚えていない)周りにいくつかの変更を行い、最終的に部分的なビューのエラーを吐き出す。私はファイルを保存したものなどを変更するにはまだ行って何も動作しているようです私を夢中にさせる! Ruby on Railsの新しいコーダーを手伝ってください!

答えて

0

ここにはいくつかのことがあります。まず、renderのパスはありません。テンプレートをレンダリングします。したがってrenderを呼び出してから、パスを呼び出すことはできません。

あなたは、インデックスまたはその他のパスに戻りたい場合は、することができます

redirect_to some_path 

それとも、あなただけ(多分フォームを含む)、再び「新しい」テンプレートをレンダリングする必要があります。

render :new 
+0

私は最終的にそれが「CTOにリダイレクトしたいと思います動的フォームがそのページにあり、投稿がそのページに表示されるため、「neposts_path」が表示されます。 "else redirect_to ctoneposts_path"を実行すると、エラーは表示されませんが、投稿は表示されません。明らかに、それは「if」ステートメントなので意味をなさない。 –

+0

レンダー:インデックスを次に試してください。 –

+0

:indexは、Ctoneposts#createにArgumentErrorを作成します。私はちょうどアプリケーションを破棄し、部分的な見解なしにやり直すかもしれません。私はいつもそうしていないので、私はよく知らない。 –

0

あなたが使用できるテンプレートの中に部分的にレンダリングされているので、

<%= render partial: 'ctoneposts/ctonepost' %> 
関連する問題