0

注: アプリは Rails 3.2.1 と Ruby 1.9.3 を使用しています。

Passenger と Apache 2 を使用して Rails アプリをセットアップしようとしています。アプリケーションが最初に作成されると、/public のデフォルトの index.html ファイルを使用して、デフォルトの Rails ページが読み込まれます。

rails generate controller home indexindex.html ファイルを実行して削除すると、問題が発生します。次に、routes.rb ファイルにroot :to => "home#index". その後、「申し訳ありませんが、問題が発生しました」というエラーが表示されます。

私のエラーログにはFile does not exist、 index.html に追加し直すと、再び正常に読み込まれることが示されています。

そのため、削除した後でも index.html ファイルを探しているようです。

私はおそらく非常に明白な何かを見逃しているので、どんな助けも大歓迎です

4

1 に答える 1

1

ルートを"home#index"に定義したので、インデックス メソッドとビューが配置された HomeController が必要です。app/views/home/index.html.erb

通常、コントローラ メソッドはビューのデータを「準備」します。これは、ほとんどのコントローラ メソッドが への呼び出しで終了しrender、ビューのオプションを与えることを意味します。

このパターンは非常に一般的であるため、標準ビューを表示するだけであれば render を呼び出す必要はありません。標準ビューは次の場所にあります。app/views/[controller_name]/[action_ame](.[request_format])(.[precompilation_format)

public フォルダーに古い index.html ファイルがある場合、静的ファイルが提供され、コントローラーはトリガーされません。そのファイルがない場合、コントローラーがトリガーされ、インデックス メソッドが「インデックス」ファイルを見つけようとしていますが、app/views/home/index.

request_formatオプションで、サイトが html のみの場合は通常省略されます。アクションが html、json、xml などのいずれかで応答できる場合に役立ちます。

通常は html request_formatのprecompilation_formaterb ですが、他にもたくさんあります (haml、rabl、builder など)。

于 2012-02-19T21:00:36.887 に答える