2010-04-15 101 views
0

我創建了一個控制器和一個模型。控制器被稱爲「管理員」,模型被稱爲「專輯」。我用適當的信息編輯了database.yml,並執行了rake db:migrate命令,它沒有返回任何錯誤,並且在schema.rb中遷移了數據庫。控制器內我寫道:爲什麼腳手架不能在Ruby on Rails中工作?

class AdminController < ApplicationController 

    scaffold :album 

end 

接下來,我開始我的服務器和去http://localhost:3000/admin,但也看不到典型的CRUD頁面,我得到以下錯誤:

app/controllers/admin_controller.rb:3 

Request 

Parameters: 

None 

Show session dump 

--- 
flash: !map:ActionController::Flash::FlashHash 

{}

Response 

Headers: 

{"cookie"=>[], 
"Cache-Control"=>"no-cache"} 

任何想法,爲什麼?

回答

0

嗯,

通常情況下,你將有一個控制器和一個模型稱爲管理員,同樣的事情將是約相冊,

看看這個快速屏幕蒙上了博客如何使用腳手架進行;

Creating a web-blog

2

這句法的腳手架已經被廢棄了很長一段時間。如今,導軌(版本2.x)使用​​下面的方法腳手架的資源:

script/generate scaffold Album title:string date:date ... 

生成該腳手架視圖(在應用程序/視圖),所述控制器(應用程序/控制器),標準測試(測試/),最重要的是,製作腳手架所需的路線。

我相信鐵軌開發團隊帶走了舊的語法(「支架:資源」),因爲沒有真正的應用程序將永遠離開支架不變,即。你將永遠需要某種定製。使用新的語法可以保持不變,但它也更容易定製。

如果你真的需要你的控制器被命名爲管理員,可以生成腳手架之後更改文件的config/routes.rb中。但是,這沒有任何意義:爲什麼創建新相冊的URI被稱爲「/ admins/new」?

如果你想創建一個形象畫冊應用程序的管理區,你可能尋找命名空間(這樣你就可以擁有「admin」的命名空間內的多個不同的資源,控制器和視圖)。要創建管理員命名空間內的專輯資源,寫:

script/generate scaffold Admin/Album title:string date:date 

在這種情況下,您的控制器將作爲http://host/admin/albums訪問。

0

腳本/生成命令似乎不工作,有人必須提供./script/generate,我認爲它是一個linux目錄問題,你必須明確地說你是從當前目錄(./)開始。希望這可以幫助別人避免撓頭

相關問題