2012-10-14 284 views
1

我新的轨道,因此它可能听起来很naive.I'm收到此错误没有路由匹配[GET] “/”

No route matches [GET] "/" 

,这里是我的routes.rb

MyApp::Application.routes.draw do 
    match 'welcome/contact' => 'welcome#index' 
end 

这里是我的控制器

class WelcomeController < ApplicationController 
    def index 
     redirect_to :action => :contact 
    end 
    def contact 

    end 
end 

,我有我的应用程序/视图/欢迎一个contact.html.erb /。什么我做错了什么?

回答

0

您需要为控制器中的CRUD操作以外的操作创建一个路由。这将解决所有操作的问题。

match ':controller(/:action)' 
0

你想要做的就是对联系页面进行渲染,而不是重定向到另一个控制器和动作。

只需将联系人视图中的代码放入app/views/welcome/index.html.erb文件中,即可快乐生活。

0

你需要一个接触操作添加到您的WelcomeController

class WelcomeController < ApplicationController 
    def index 
    redirect_to :action => :contact 
    end 

    def contact 
    end 
end 
+0

得到错误的“无路由匹配[GET]‘/’ – iJade

+0

确保您有根:到=>顶部的‘欢迎#指数’你的routes.rb文件 –

3

我不明白你想要做什么。不过,我想你想你的观点欢迎/接触,你的索引页,如果这是正确的,你只需要改变你的routes.rb文件是这样的:

root to: 'welcome#contact' 

,你必须删除index.html文件从公用文件夹。

在另一方面,你可以阅读更多的轨道路线here

+0

当然dat会工作。但我想重定向到一个特定的页面,使用redirect_to控制器内。是否有可能? – iJade

+0

尝试这场比赛'欢迎/联系',以:'welcome#contact',via :获得 – Jean

+0

或只是得到'欢迎/联系' – Jean

相关问题