2017-07-01 19 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

你的根文件表示我的網站上的根頁面是由Controller Application的索引操作呈現的視圖。那麼如果你的'/ app/views/application/index.html.erb'文件夾中有一個index.html.erb文件。你的應用程序控制器顯示一個索引操作(甚至爲空)'def index end',那麼應該顯示視圖。 (儘管應用程序控制器通常是空的,因爲它直觀地不應該做任何事情,沒有邏輯顯示應用程序的索引。如果你有一個用戶模型和控制器,那麼有一個User#索引是有意義的,它應該返回一個用戶列表) – Maxence

回答

1

你只需要按照慣例,如果你將它指向controller: Applicationaction: Index,那麼你需要在你的視圖中有一個「應用程序」文件夾,在這個應用程序文件夾中有一個「index.html.erb」,你不需要在動作中調用任何渲染。

因此,在這種情況下,創建以下文件夾

/app/views/application 

和裏面放置您:

index.html.erb 

在您application_controller.rb

def index; end 

我不會使用的應用程序控制器雖然...

0

如果你想呈現的部分,然後

render partial: 'some_view' 

render 'some_view' 

這將尋找_some_view.html.erb

一個文件,如果你想呈現一些模板,然後

render template: 'template_name' 

這將查找template_name.html.erb

相關問題