2016-07-14 77 views
0

的那一刻,我的導航條的內容是這樣的:如何創建歡迎頁面鏈接到其他網頁紅寶石

<li><%= link_to "Portfolio", projects_path, :class => "header" %></li> 
<li><%= link_to "Articles", posts_path, :class => "header" %></li> 
<li><%= link_to 'Contact', contact_path, :class => "header" %></li> 

前兩個環節的工作不錯,但最後一個不。 我如何參考糾正?聯繫頁面只是一個簡單的靜態頁面(沒有項目或推送的博客)。

這是我的routes.rb

Rails.application.routes.draw do 
    resources :contact 
    get 'contact/index' 
    resources :posts 
    resources :projects 
    get 'welcome/index' 
    root 'welcome#index' 
end 

這是控制器

class ContactController < ApplicationController 
    def index 
    end 
end 

如果我看一看耙路線,我得到這樣的:

contact_index GET /contact(.:format)   contact#index 
       POST /contact(.:format)   contact#create 
    new_contact GET /contact/new(.:format)  contact#new 
edit_contact GET /contact/:id/edit(.:format) contact#edit 
     contact GET /contact/:id(.:format)  contact#show 
       PATCH /contact/:id(.:format)  contact#update 
       PUT /contact/:id(.:format)  contact#update 
       DELETE /contact/:id(.:format)  contact#destroy 
       GET /contact/index(.:format)  contact#index 

我是紅寶石新手,我期待着幫助。已經提前致謝!

回答

2

替換您與下面的行第三行的路徑:

<li><%= link_to 'Contact', contact_index_path, class: "header" %></li> 
+0

就是這樣。 :-) 謝啦! –

0

從您的路線文件中刪除get 'contact/index'並嘗試。

您已經爲contact指數,當您添加resources :contact

+0

親愛的庫馬爾,不幸的是這還不夠。當我進入我的本地主機時,出現以下錯誤: 沒有路由匹配{:action =>「show」,:controller =>「contact」}缺少必需的鍵:[:id] –

+0

您的控制器名稱爲「ContactController」 'ContactsController'?如果它的複數,你應該做'資源:聯繫人',而不是。 – Kumar

+0

它是contact_controller.rb –