2012-06-21 9 views

答えて

18

と思います:あなたはIndexControllerからリダイレクトする場合

redirect(uri:'/') 
+0

これは、インデックスビューに '/'のUrlMappingがある場合にのみ機能します。 – doelleri

+0

サイトのルートコンテキストにリダイレクトされますが、定義されているのはアプリケーションに依存します。 '/'マッピングはURLマッピングに標準で付属しています。 – proflux

+0

これは、アプリケーションが 'example.org/yourapp /'のようなサブディレクトリにある場合にも機能します。 – str

6

なぜrenderの代わりにredirectが必要ですか? redirect(uri:'/index.gsp')は、トリックを行う可能性がありますが、私はあなたがこのように「/」リダイレクトを行うことができますちょうどrender(view:'/index')

+0

インデックスを直接レンダリングするように注意してください。単純な静的コンテンツでも、コントローラを追加してメインページに表示するデータを取得したら、それぞれのレンダリングステートメントをリダイレクトに切り替えることができます。その 'redirect(uri: '/ index.gsp')は404を与えるでしょうか? – proflux

+0

彼はコントローラーの一部ではないと言いましたので、レンダリングするのは安全だと思いますが、コントローラーのアクションからモデルに頼るのであれば、欠落しているモデルにアクセスすることによってビューがほぼ確実に例外を投げることになります。 – doelleri

+1

私は道路を少し見下ろしています。私が開発したほとんどの重要ではないアプリケーションは静的なindex.gspで始まり、 '[controller: 'home'、action: 'index']'のようなもので終わります。戻って、あなたのアプリ全体に散らばっている 'render(view: '/ index')の束を固定した後、あなたは他の人がそのミスを避けるのを助けるように強いられます。それがちょうど投げ捨てのアプリであれば、いずれにしても大したことではありません。 – proflux

0

、その後、あなたは(ビューをレンダリングする必要があります。」/index ')

関連する問題