0

私は少し Rails に慣れていないので、これが本当に単純な場合は申し訳ありません。別のコンピューターからサーバーにアクセスすると、次のメッセージが表示されます。

[GET] "/" に一致するルートはありません

サブページに移動しようとすると (まあ、現在は 1 つしかありません)、次の行に沿って何かが表示されます。

不明なアクション

AwebpageController のアクション「インデックス」が見つかりませんでした

しかし、ここに落とし穴があります: これは時々しか起こりません。残りの時間は、標準の RoR ホームページが読み込まれ、wwww.mydomain.com/awebpage にアクセスするとページが正常に表示されます。

私の Routes.rb は次のようになります。

Wobsite::Application.routes.draw do
  resources :awebpage
end

awebpage_controller.rb は次のようになります。

class AwebpageController < ApplicationController
end

はい、Awebpage の index.html.erb は存在します。単純すぎて何がいけないのかさっぱりわからない。ああ、私のウェブサーバーはシンです(それが問題かどうかはわかりません)。助けてくれてありがとう!

4

1 に答える 1

2

これをルート ファイルの先頭に追加して、サイトのデフォルトのコントローラーとページを設定することができます (例: http://www.mysite.com/ ):

root :to => "AwebpageController#index"

デフォルトの Ruby on Rails Web ページを削除するにindex.htmlは、ディレクトリ内のファイルも削除する必要があります/public/

また、必須ではありませんが、コントローラーに index の関数定義がありません。

class AwebpageController < ApplicationController
  def index
  end
end

通常、アプリケーション ロジックを実行し、この関数でビューを提供します。ただし、何もしないと、RoR はページに関連付けられたビュー (index.html.erb) を自動的に読み込みます。

それでも問題が解決しない場合は、routes ファイルに明示的に追加indexしてください。AwebpageControllerおそらく Rails は にのみマッピングwww.mysite.com/Awebpage/されており、 にはマッピングされAwebpage/indexていませんwww.mysite.com/Awebpage/index

于 2012-09-24T21:21:13.377 に答える