0

長年の読者&初投稿者なので、お手柔らかにお願いします。

最近、独学で RoR を学び始め、コツをつかむために個人的なプロジェクトや Web サイトをハッキングしています。これが私の問題です:

Simple Navigation gem を使用してリンクを生成しています。navigation.rb 内で私は電話しようとしています:

primary.item :home, 'Home', home_path

...ここで、ホームは私のフロントページを表示するビューとコントローラーです:

  1. ホーム > index.html.erb (標準の HTML がたくさん含まれているだけですが、含めると便利な場合はお知らせください)
  2. およびコントローラー > home_controller.rb:
class HomeController < ApplicationController
  def index
    @posts = Post.all
  end
end

ただし、このエラーが発生します。

ルーティング エラー

{:action="show", :controller="home"} に一致するルートはありません

利用可能なルートの詳細については、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を削除した方法を参照してください。ホーム/インデックスでは、:asはエイリアスを表すため、名前の末尾に「パス」を追加して、エイリアスをメソッドとして使用できます。

ルートとリソースに関するこのガイドを確認してください: http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default

于 2012-12-20T07:35:57.900 に答える