2016-12-08 6 views
0

私は、私のコントローラにいくつかの値を持っているコントローラからビューに値を渡すにはどうすればいいですか?私はGrailsの3を使用しています

[view: "user", model: [user: user]] 

を言うとuser.gspに私は

${user.name} 

を書いていますが、これはGrailsの3 Iでは動作しません。また、私のコントローラでこの

render (view: "/views/user.gsp", model: [user: user]) 

のようにそれを試してみましたが、それでもその次のエラー表示:

を私はあなたが何かをしたいと仮定し

.../Grailsのアプリ/ビュー/ビュー/ user.gsp

Could not resolve view with name 'save' in servlet with name 'grailsDispatcherServlet' 
+0

もう少しコードを書いてください。 "save.gsp"という名前のファイルをレンダリングしようとしているようです(そこにはありません)。完全な方法を投稿してください。 –

+1

ようこそStackOverflowへ。 [最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve)をお読みください。コードサンプルで質問を改善してください。 –

答えて

0

あなたのビューファイルがgrails-app/views/user.gspに位置しているようです。あなたは私たちにあなたのコントローラーの名前を与えていないので、私はそれを "YourController"というふりをして作っています(コントローラーの名前空間を使わないと仮定します)。

コントローラーが自動的に(最初の試みのように)コントローラーに表示されるようにするには、コントローラーがデフォルトで「自分の」フォルダーを検索するので、grails-app/views/your/user.gspという名前を付ける必要があります。完全なパスを提供するために、

あなたの第二の試みは二つの側面で間違っている:最初に、あなたは(あなたがgrails-app/views/viewsフォルダを持っていない限り)、明示的にパスの/views一部を追加する必要はありません、あなたの意見はgrails-app/viewsの外部に存在することはできません。次に、.gspという拡張子を付けてはいけません。Grailsは独自の方法でファイルを探し出します(他にも.gspというファイル以外のオプションがあり、Grailsが要求に最も適したオプションを選ぶためです)。したがって、2番目のフォームは次のようになります。render (view: "/user", model: [user: user])

関連する問題