2016-07-14 67 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 –