2010-07-27 22 views
0

我剛剛發佈了一個[script/generate scaffold User]命令來生成我的文件。所有的CRUD頁面都運行良好,所以這很好,現在我正在嘗試創建更多頁面。創建在user_controller.rb文件的方法如下:在Rails中爲ActionController設置動作

DEF登錄

#blahblah

然後創建應用程序/視圖/用戶/ login.html.erb用於視圖。當我試圖通過瀏覽器[http://localhost:3000/users/login]訪問它,它給出了該錯誤:

的ActiveRecord :: RecordNotFound(找不到用戶與ID =登錄): 應用程序/控制器/ users_controller.rb:16:在`顯示'

我將它解釋爲使用操作顯示,並且它不會將登錄識別爲操作。我錯過了這個行動的一些配置工作?我對Rails很陌生,所以我可能會錯過一些微不足道的東西。謝謝!

UPDATE 我嘗試使用[script/generate controller User],然後在控制器中創建操作方法,它是相應的視圖。它似乎按預測工作。在使用腳本/生成腳手架不可用時,兩者之間的區別以及導致創建其他操作方法的原因是什麼?

回答

0

您需要打開您的路線文件並將集合映射添加到用戶路線。在你的情況,該行可能會讀取on Rails的路線

+0

偉大map.resources :users, :collection => { :login => :get }

退房http://guides.rubyonrails.org/routing.html更多信息!那效果很好。但是,爲什麼如果我使用[script/generate controller user],然後在控制器中添加方法及其相應的視圖,它們在沒有設置映射的情況下工作?什麼使劇本/腳手架產生不同?謝謝! – Paul 2010-08-02 15:11:38

+0

等等......我想我現在已經掌握了它的一切。謝謝! – Paul 2010-08-03 00:33:48

相關問題