2013-01-18 76 views
0

我下面的教程,並得到了這一點:http://rubysource.com/building-your-first-rails-application-views-and-controllers/不能明白這段文字是說

rails generate controller urls new 

我們只在新的動作(而不是新通過的理由,創造, 和顯示)是因爲Rails會自動生成一個包含在生成器調用中的每個動作的虛擬視圖。在這種情況下,我們只需要 爲新操作的虛擬視圖,因此我們排除其他操作。

那麼,爲什麼我們只需要創建新的控制器?有人可以解釋一下更多的細節嗎?

回答

1

的命令是用於僅使用一種方法創建UrlsControllernew

這個命令也將自動創建爲你一個視圖文件:

app/views/urls/new.html.erb 

假如你提供更多的參數,如:

rails generate controller urls new create show 

你會得到:

app/views/urls/new.html.erb 
app/views/urls/create.html.erb 
app/views/urls/show.html.erb 

由於本教程僅需要new視圖,因此無需創建附加l視圖,因此這些附加參數未添加到generate命令中。

在本教程的後面,您手動添加了createshow方法,但不會爲這些方法添加視圖(因爲這些方法在此應用程序中不需要特定的視圖文件)。

所以:你所做的是用一個方法new創建控制器UrlsController,以及該方法的相應視圖。其餘的方法將在本教程後面手動編寫,因此不需要自動生成其他任何東西(createshow)。

1

這隻會在控制器中創建新的動作,應該跳過其他的動作。

編輯: 它將產生一個在應用程序/控制器和在該控制器稱爲UrlsController控制器將僅存在其對應於稱爲網址路徑或URL的一種方法稱爲動作/新

+0

從我的學習到目前爲止我明白,使用這樣的生成命令,我們將在控制器中擁有一個類名爲urls的名爲「new」的動作,並且還將在routes.rb中爲它創建一個get。 ... 還有什麼? – Bohn