1

我是 Rails 新手,所以听起来可能很幼稚。我遇到了这个错误

No route matches [GET] "/"

这是我的路线.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

我的 app/view/welcome/ 中有一个contact.html.erb。我做错了什么?

4

4 回答 4

3

我不明白你想做什么。但我认为您希望您的视图 Welcome/contact 作为您的索引页面,如果这是正确的,您只需像这样更改您的 routes.rb 文件:

root to: 'welcome#contact'

并且您必须从公用文件夹中删除 index.html 文件。

另一方面,您可以在此处阅读更多铁路路线

于 2012-10-14T18:47:23.540 回答
0

您需要向WelcomeController添加联系操作

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

  def contact
  end
end
于 2012-10-14T15:09:39.377 回答
0

您要做的是渲染联系页面,而不是重定向到另一个控制器和操作。

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

于 2012-10-14T13:17:12.897 回答
0

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

match ':controller(/:action)'
于 2012-10-14T09:41:31.737 回答