Rails中的简单导航路由错误3.2.8

时间:2012-12-20 07:10:56

标签: ruby-on-rails

长期读者&第一次发布海报,所以如果你对我很轻松,我会很感激。

最近开始自学RoR,并且一直在个人项目/网站上进行攻击以获取信息。这是我的问题:

我正在使用Simple Navigation gem生成链接。在navigation.rb里面我试着打电话:

primary.item :home, 'Home', home_path

... home是一个显示我的首页的视图和控制器:

  1. home> index.html.erb(只包含一堆标准HTML,但请告诉我是否包含它有用)
  2. 和控制器> home_controller.rb:
  3. class HomeController < ApplicationController
      def index
        @posts = Post.all
      end
    end
    

    我收到了这个错误:

      

    路由错误

         

    没有路线匹配{:action =&gt;“show”,:controller =&gt;“home”}

         

    尝试运行rake路线以获取有关可用路线的更多信息。

    ...所以我运行rake路线,并且肯定能在那里看到“home#show”。

    我的routes.rb文件也包含在其中:

      get "projects/index"
      get "offer/index"
      get "space/index"
      get "home/index"
    
      resources :posts
      resources :home
    

    所以我有点困惑,我确定这是因为我缺乏经验或一般无法理解我在做什么,但我真的很感激一些帮助,因为它或多或少是我的障碍一直未能克服。

    欣赏它!

1 个答案:

答案 0 :(得分:0)

这是因为资源;如果您没有使用资源,请删除资源:主页

这可能是你的路线:

  get "projects/index"
  get "offer/index"
  get "space/index"
  get "home/index", :as => "home"

  resources :posts

了解我如何删除资源:主页。在home / index中,:as 表示别名,因此您可以使用别名作为方法,在名称的末尾添加“path”。

查看本指南有关路线和资源的信息:http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default