2017-07-01 6 views
0

私はかなり新しいレールですし、質問がありました。私のコントローラで私のhtmlで作成されたビューを表示するのに問題がある

私は作成したhtml.erbビューをポイントするようにコントローラを指示したいと思います。私のルータは、このようなとして設定されている

def index 
    render :"viewName" 
end 

def index 
    render :viewName 
end 

def index 
    render : "viewName.html.erb" 
end 

は、私は、さまざまなバージョンを試してみました

あなただけの規則に従う必要が
Rails.application.routes.draw do 
    root 'application#index' 
end 
+0

あなたのルートファイルは私のウェブサイトの私のルートページはコントローラアプリケーションのインデックスアクションによってレンダリングされたビューだと言います。次に、/ app/views/application/index.html.erb'フォルダにindex.html.erbファイルがある場合。そして、あなたのアプリケーションコントローラは、インデックスアクション(空でも) 'def index end'を表示し、ビューが表示されるはずです。 (アプリケーションコントローラは、直感的にNothingを実行する必要があるため、通常は空ですが、アプリケーションのインデックスを示すロジックはありません)Userモデルとコントローラがあれば、ユーザリストを返すUser#インデックス) – Maxence

答えて

1

、あなたはcontroller: Applicationにそれを指している場合は、 action: Indexの場合は、ビュー内に「application」フォルダが必要で、このアプリケーションフォルダ内に「index.html.erb」があり、アクション内でレンダリングを呼び出す必要はありません。

だから、この場合に

/app/views/application 

次のフォルダを作成し、その中に置き、あなた:あなたのapplication_controller.rbオン

index.html.erb 

def index; end 

私がアプリケーションを使用していないだろうコントローラー...

0

あなたは部分をレンダリングしたい場合は、

render partial: 'some_view' 

または

render 'some_view' 

あなたが

をいくつかのテンプレートをレンダリングしたい場合は、これは

_some_view.html.erbファイルを探します

render template: 'template_name' 

これはtemplate_name.html.erbを探します

関連する問題