1

私は Grails In Action ( http://www.manning.com/gsmith2/GiA2E_meap_ch01.pdf )の段階的な指示に従おうとしていましたが、足場についてはセクション 1.5.1 の Pg. 21-23 ではうまくいかないようです。

提案どおりに を追加しstatic scaffold = trueました。QuoteController.groovy次にgrails run-appを実行し、次のように (PDF の図 1.11 ではなく) 404 エラーが発生します。localhost:8080/qotd/quote/list

HTTP Status 404 - /qotd/quote/list
type Status report
message /qotd/quote/list
description The requested resource is not available.
Apache Tomcat/7.0.42

は次のQuoteController.groovyとおりです。

パッケージqtd

クラスQuoteController {
    静的足場 = true

    デフインデックス(){
        リダイレクト(アクション:「ホーム」)
    }

    デフホーム(){
        render "本物のプログラマーはキッシュを食べない"
    }

    デフランダム(){
        def allQuotes = Quote.list()
        def randomQuote
        def n = allQuotes.size()
        もし (n > 0){
            def randomIdx = new Random().nextInt(n)
            randomQuote = allQuotes[randomIdx]
        } そうしないと{
            文字列 str = "本物のプログラマーはキッシュを食べない" + n
            randomQuote = new Quote(作者: "匿名",
                    内容: str)
        }
        [引用:ランダム引用]
    }
}

ただし、正常に動作し (pdf の図 1.12 と一致)、新しい見積もりを作成できます。localhost:8080/qotd/quote/create

私が使用しているバージョンは次のとおりです。
アプリ バージョン: 0.1
Grails バージョン: 2.3.1
Groovy バージョン: 2.1.8
JVM バージョン: 1.7.0_45

これは Grails のバグですか、それとも何か不足していますか?

私はGroovyとGrailsを初めて使用します。どんな助けでも大歓迎です。ありがとうございました!

4

2 に答える 2

4

list アクションは何らかの理由で削除されました。代わりにインデックスを使用してください。

于 2013-10-27T06:19:26.437 に答える
0

バージョン 2.4.2 ではさらに多くの変更があります。次の URL は、足場がどのようにプラグイン モデルに移動したかを説明しています。

http://grails.org/doc/latest/guide/scaffolding.html

「Grails 2.3 の時点で、足場機能はプラグインに移動されました。デフォルトでは、これは新しいアプリケーションにインストールするように構成されていますが、以前のバージョンの Grails からアップグレードする場合は、BuildConfig に次の構成を追加する必要があります。グルーヴィーなファイル...」

したがって、plugins { }セクション内に次の行を追加します。

compile ":scaffolding:2.0.0"

また、アクション「作成」を使用して、データベースがまだ空である場合にデータを強制的にデータベースに入れます。例えば:

ローカルホスト:8080/myapp/mycont/create

次に、次のようにロードできるかどうかを確認してください。

ローカルホスト:8080/myapp/mycont/show/1

交換:

myapp --> with your application name (used in 'grails create-app')

mycont --> your controller name (used in 'grails create-controller')
于 2014-07-14T23:19:18.773 に答える