2011-04-13 148 views
2

我已經創建了模型,視圖和控制器:鏈接資源

$ rails generate scaffold Post name:string title:string content:text 

我運行服務器,我看到帖子的名單,如果我在瀏覽器中打開HTTP:\本地主機:3000 \帖子。 現在我需要創建此頁面的鏈接。喜歡的東西:

<%= link_to("settings", { :controller => 'groups', :action => 'index'}) %> 

,但我得到的錯誤上打開這個頁面:

Couldn't find Group with ID=index 

如何CA創建鏈接到http:\本地主機:3000 \職位,我在這種情況下使用何種行動?

回答

8

我覺得路徑傭工是優秀的在這些情況下。你可以做這樣的:職位你的routes.rb你自動獲得幾個路徑助手:當您使用使用資源

<%= link_to("Posts", posts_path) %> 

posts_path在這種情況下,將鏈接到http://localhost:3000/posts

。例如:

posts_path   # /posts 
post_path(@post)  # /posts/1 
edit_post_path(@post) # /posts/1/edit 
new_post_path   # /posts/new 
1

如果你有一個途徑,如:

resources :groups 

config/routes.rb那麼你將有助手groups_path。您可以使用rake routes看到的所有路由和幫手的,但在這種情況下,你將擁有:

groups_path 
group_path(@group) 
edit_group_path(@group) 

Polymorphic Routes Documentation