0

长期读者和第一次海报,所以如果你对我轻松一点,我将不胜感激。

最近开始自学 RoR,并且一直在破解个人项目/网站以掌握事情的窍门。这是我的问题:

我正在使用简单导航 gem 来生成链接。在 navigation.rb 我试图调用:

primary.item :home, 'Home', home_path

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

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

不过,我收到了这个错误:

路由错误

没有路线匹配 {:action=>"show", :controller=>"home"}

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

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

我的 routes.rb 文件也有这个:

  get "projects/index"
  get "offer/index"
  get "space/index"
  get "home/index"

  resources :posts
  resources :home

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

欣赏它!

周杰伦

4

1 回答 1

0

这是因为资源;如果您不使用资源,请删除资源:home

这可能是您的路线:

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

  resources :posts

看看我如何删除资源 :home。在 home/index 中:as代表一个别名,因此您可以将别名用作方法,在名称末尾添加“路径”。

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

于 2012-12-20T07:35:57.900 回答