2011-01-12 63 views
1

嗨,我創建了一個控制器的文章,並添加以下代碼在自定義創建的意見沒有輸出

def chid 
    @message='hello world' 
    respond_to do |format| 
    format.html 
    end 

end 

我然後創建

chid.html.erb
文件中
app/views/articles/

,並寫了下面的代碼

 
Hello world 

當我給了以下網址

../articles/chid
我沒有得到任何輸出..我錯過了什麼?

我的日誌部分

 
Processing ArticlesController#show (for 127.0.0.1 at 2011-01-12 21:51:01) 
[GET] Session ID: BAh7BzoMY3NyZl9pZCIlMTA0ZWY2ZTUzYjQxZGJkZmFlMTQwNWRjYjczNTRm%0AODAiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhh%0Ac2h7AAY6CkB1c2VkewA%3D--de7737601817f52c1b72daca6061c5126f3a5022 
Parameters: {"action"=>"show", "id"=>"chid", "controller"=>"articles"} 
Rendering template within layouts/articles 
Rendering articles/show Completed in 0.01000 (100 reqs/sec) | Rendering: 0.00600 (60%) | DB: 0.00000 (0%) | 200 OK [localhost/articles/chid/]

我router.rb文件如下

 

ActionController::Routing::Routes.draw do |map| 
    map.resources :articles 
map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 
    map.match ':controller/:action/' => 'Article#chid' 
end 
+0

您是否設置了路線? – 2011-01-12 17:26:35

+0

@Matheus:不是我應該在那裏做嗎?對不起我正在學習ROR – CHID 2011-01-12 17:35:52

回答

2

config目錄下有一個名爲routes.rb文件。該文件告訴Rails如何通過映射控制器的操作來響應某些URL。

考慮例如:

match '/articles/chid' => 'Articles#chid' 

這將路線#{your_site_url}/articles/chidArticlesControllerchid行動,這反過來又會使位於views/articleschid.html.erb視圖。

我們也可以告訴Rails什麼路線/爲好:

root :to => 'Articles#chid' 

最後,我們也可以航線使用什麼所謂的綁定參數的控制器進行任何操作:

match ':controller/:action' 

作爲最後一個注意事項,一定要查看Rails Guides on Routing

更新

嘗試使用以下routes.rb

ActionController::Routing::Routes.draw do |map| 
    map.connect ':controller/:action' 
end 

編輯

根據您剛剛張貼的routes.rb文件,此行是罪魁禍首。刪除它。

map.connect ':controller/:action/:id'

注意,從文件到頂部到底部順序,一旦路由匹配找到匹配,它的完成。它不會看你的其他路線。

相關問題