2011-12-23 13 views
0

単純な静的HTMLページを提供するRailsアプリケーションを作成しようとしています。私はMikelのチュートリアルhereに従った(これはページコントローラを作成し、いくつかのルーティングを設定することを伴う)しかし、私はエラーメッセージを受け取り続ける。Ruby on Railsのルーティングエラーが一致する

app/views/site/pages/_about.html.erbファイルに[自分のバージョン情報]ページを含めるようにしました。 rails serverを起動すると、http://localhost:3000/about/に行きますが、「初期化されていない定数サイト」があるため、ルーティングエラーが発生します。

My project is uploaded to GitHubコードを確認したい場合は、

編集:

class PagesController < ApplicationController 

    layout 'site' 

    def show 
    @page_name = params[:page_name].to_s.gsub(/\W/,'') 
    unless partial_exists?(@page_name) 
     render 'missing', :status => 404 
    end 
    end 

    # extra code for handling 404 errors goes here 

end 
+0

修正済みです! GitHubリンクには現在作業コードがあります。 –

答えて

1

site/pages#showあなたはどちらかに必要Site::PagesController

でshowアクションを意味します。ここに私のconfig/routes.rbファイルです:

NINAgallery::Application.routes.draw do 
    match ':page_name' => 'site/pages#show' 
end 

そして、ここに私のapp/controllers/pages_controller.rbファイルの重要な部分ですあなたのルートが暗示する名前空間にあなたのコントローラを置くか、ルートを変更する

1

をPagesControllerの最後の行はこれです:

ValidPartials = Site::PagesController.find_partials 

をPagesControllerは、サイトのモジュールに含まれていることを意味します。しかし、あなたのアプリにはサイトモジュールはありません。

私は、単純な削除サイトを考える::問題を修正する必要があります。

ValidPartials = PagesController.find_partials 

プラスルート:

match ':page_name' => 'pages#show' 
1

アプリケーションがNINAgalleryと呼ばれています。

Sitepages_controller.rb行27で置き換えます。NINAgallery

PS:

私はちょうど、いわゆるチュートリアルでのぞき見を取りました。あなたは本当に本当に本当に悪い習慣を取っています。あなたの場合はチュートリアルのような

http://ruby.railstutorial.org/

をとRailsに関する本がたくさんあり

一部のリソースは非常に良い基礎を取ります。すべての良い。

+0

なぜこれらの悪い習慣はありますか?私はまだRuby on Railsの美しさを理解していないと思う。 :D –

+0

私が失礼だと申し訳ありませんが、事は次のとおりです:悪い習慣は本当に失われにくいので、後でそれを後悔するかもしれません。上記のリンクで、あなたは安全です;) – Damien

+0

ああ、まったくありません!私はRailsでの開発を始めたばかりなので、まだベストな習慣はまだ分かりません。しかし、上記のリンクは私の方向に私を指摘している! :) –

0

名前空間の問題のほかに、チュートリアルで説明したように、 'app' GemをGemfileに追加する必要もありました。

私はなぜあなたの作業コードで静的ページのキャッシュを削除したのかわかりません。私は、アプリケーションが動作し、キャッシュの問題を維持するプルの要求をしました。他の人に興味があれば、コードはhere

と同様のチュートリアルもあります。間違いがほとんどないので、彼のソリューションに従うことをお勧めします。

関連する問題