0

私はGrails 3.1を習得しようとする初心者です。デフォルトにに関しては、私はインデックスページで、次のスクラッチを追加します。refactoryが正しく行われなかった可能性があります

<ul> 
    <g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }"> 
     <li class="controller"> 
         <g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link> 
     </li> 
    </g:each> 
</ul> 

を始めに、インデックス・ページが何のコントローラを示しません。次に、別のコントローラー、例えばTodosControllerを作成します。このコントローラー名はなんとなくいいわけではないので、私はTodoListControllerに名前を変更したい(もちろん、Intellij IDEAのリファクタリング機能を使用する)。残念ながら、コードは2つのコントローラのままで、インデックスページに表示されます。私はTodosControllerのリンクをクリックすると、私はエラーを取得する:エラーの

Could not resolve view with name '/todos/index' in servlet with name 'grailsDispatcherServlet' 

スナップショットは以下の通りです。 Could not resolve view 私はそれがどこにあるかを見つけるのに何度も費やしますが、私にとって魔法のことは起こりません。 誰でもこのような状況がありますか?

+0

アプリケーションを停止し、Grailsの 'clean'コマンドを実行してください。それが修正されているかどうか確認してください。 –

+0

@ JoshuaMoore:クリーニングで問題が解決しました。ありがとう! – Tung

+0

問題が解決してから、心配する必要はありません。 –

答えて

3

Grailsを少し混乱させるような音がします。この場合、アプリケーションを停止してcleanコマンドを実行して、もう一度やり直してください。その理由は、Grailsがあなたの最初のコントローラをファイルがなくなっても、.classファイルがまだ残っているbuildディレクトリにコンパイルしたからです。コンポーネントのスキャンではクラスパスからクラスが選択され、2つのコントローラで終了します。

関連する問題