0

私は自分のファイル構造を適切に設定しています (私はそう思います!)。

私のファイル構造:

 views/admin/admin_wysi/index.html.haml

私のコントローラー ( controllers/admin/admin_wysis_controller.rb )

class Admin::AdminWysisController < Admin::ApplicationController

 def index
 end

end  

私のルート.rb

map.namespace :admin do |admin|
  admin.resource :admin_wysi
end

そして、 www.website.com/admin/admin_wysi/ にアクセスしようとするとエラーが発生します:

Unknown action

No action responded to show. Actions: index

ここで何が間違っていますか?

4

2 に答える 2

2

あなたのルートは特異です。しかし、おそらく複数形が必要です。ルート定義を次のように変更します。

map.resources :admin_wysi

または、本当に単一のルートが必要な場合は、コントローラーを次のように変更します。

class Admin::AdminWysisController < Admin::ApplicationController

 def show
 end

end  

これらすべてに加えて、ルーティングに関するRailsガイドを読むことをお勧めします。実際に何がどのように行われているのか、さらに詳しく説明する必要があります:)

于 2010-06-22T16:42:41.777 に答える
1

エラー メッセージは、「index」アクションではなく「show」アクションを探していることを示しています。試すコマンドの 1 つは、(ターミナルから) 'rake routes' です。これにより、アプリケーションでサポートされているパスと、それらがマップされているコントローラー/アクションのリストが出力されます。この場合、問題は次のように修正されます。

map.namespace :admin do |admin|
  admin.resources :admin_wysi # added 's'
end

「map.resource」を実行すると、7 つの安静なルートのうち 6 つだけがルーティングされる (インデックスではない) ため、「map.resources」を使用する必要があります (単一のリソースではなく複数のリソースがある場合)。

于 2010-06-22T16:42:20.633 に答える