2017-02-05 17 views
0

<%= "Name_of_the_view"%>をHTMLファイル内にレンダリングする部分的な作業を開始しましたが、何らかの理由で部分表示が表示されません。レール上の部分表示が表示されない

部分は見つかりましたがレンダリングされないので、私が得るのはメインビューのh1タイトルです。

既にスペルチェック、設定などすべての種類のものがありますが、何が間違っているのかわかりません。

ここでは、コードです:

主なHTMLファイル:私は同じフォルダメインHTML内(It'sをレンダリングしたい部分図が含まれている

<div class="container"> 
    <h1>Create article</h1> 

    <%= render "form" %> 
</div> 

_formファイルファイル)は次のとおりです。

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

     <% @article.errors.full_messages.each do |message| %> 
     <div class="card-panel red"> 
      <span class="white-text"><%= message %></span> 
     </div> 
     <% end %> 

     <div class="form-group"> 
     <label for="title" class="active">Title</label> 
     <%=f.text_field :title, class:"form-control"%> 

     </div> 
     <div class="form-group"> 
     <label for="body" class="active">Body</label> 
     <%=f.text_area :body, class:"form-control", style:"height:250px"%> 
     </div> 
     <%=f.submit "Submit", :class=>"btn btn-primary"%> 
    </div> 
<%end%> 

これはコントローラであり、

class ArticlesController < ApplicationController 
def index 
    @articles = Article.all 
end 

def show 
    @article = Article.find(params[:id]) 
end 

def new 
    @article = Article.new 
end 

def create 
    @article = Article.new(article_params) 
    if @article.save 
     redirect_to @article 
    else 
     render :new 
    end 
end 

private 

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

ありがとうございます。

答えて

0

何があなたがレールを使用して、新しい足場を生成する場合は、パスを確認した場合

yourscaffolds/new 

はあなたがレンダリングされたフォームかどうかを確認することができ

rails g scaffold YourScaffolds mystring:string 

を命じるどうなりますか?これが一般的な問題なら、私はあなたを助けることができません。標準的なスカフォールドのパーシャルがコードよりも間違っているはずです。

RoRからエラーメッセージが表示されない限り、通常はpartialが見つかります。上のコードは上手く見えます。ただし、その部分がビューテンプレートと同じフォルダにあることを確認する必要があります。

はそうあなたのためにそれはあなたが<%= render "form" %>を呼び出すファイルが.erb拡張子を持っていることを確認してください

/articles/new.html.erb /articles/_form.html.erb

である可能性があります。がんばろう!

コントローラメソッドを投稿できますか?デフォルトの足場を使用していますか? テンプレートの内容が表示され、部分のみが欠落していますか?

次のような構文:

render "products/show" 

render template: "products/show" 

は、あなたがこの巻き付けルビー識別子を持っていることを確認してください。 <%=%> 部分がレンダリングされていない理由は絶対にありません。コードのスペルミスを確認してください。部分は常にアンダースコアで始まる必要があります_

+0

それは問題です。すべてがあなたの言った通りです:両方のファイルが同じフォルダにあり、両方とも同じ.erb拡張子を持ち、すべてが空白セクションになります。 – Guardsoul

+0

問題に関する追加情報を追加しました。 – Guardsoul

関連する問題