問題タブ [grails-domain-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails ドメイン クラスの日付
私はこのドメインクラスを持っています:
私がやりたいことは次のとおりです。
a)日付に制約を適用します。たとえば、最小日と最大日です
b) 私のプロジェクトでは、日付の配列が必要で、必要な数の endDates を追加する必要があります。そうすることは可能ですか?そしてどうやって
grails - ドメインを分割し、変更をデータベースに移行する
ドメイン クラスがあり、データベースには既に大量のデータがあります。ここで、ドメインを 2 つに分割する必要があります。データベース内のデータも自動的に 2 つのテーブルに分割する方法はありますか?
grails - 1 つのドメイン クラスで「参照」と「参照なし」の所属関係をどのように混在させるのですか?
Grails ではbelongsTo
、1 つのドメイン クラスが別のドメイン クラスとのカスケード関係を確立できます。を使用する場合の関係には、参照と参照なしの 2 つのbelongsTo
スタイルがあります。Reference は所有するオブジェクトにプロパティを作成しますが、No Reference は目に見えない GORM 関係を確立するだけです。
親ドメインクラスの例:
belongsTo
参照プロパティなし:
belongsTo
参照プロパティを使用:
難しいことではありませんが、複数の belongsTo 参照を使用し始めると、問題が発生します。
belongsTo
複数の後方参照あり:
belongsTo
プロパティ参照のない複数の関係:
ここに問題があります。上記の 2 つのスタイルを混在させるにはどうすればよいですか?
User
ではなくのプロパティ参照が必要だとします。その呼び出しCar
をどのように記述すればよいでしょうか。belongsTo
単一のドメイン クラスでリファレンス プロパティを使用した No Reference 関係リンクを混在させる方法に関する情報は役に立ちます。
リンク:
grails - ドメインクラスは、参照のない子に「all-delete-orphan」をどのようにカスケードできますか?
Grailsでは、子クラスを持つことができます。
2つの親クラスを使用
Ifather.delete()
の場合、GrailsはデータベースエラーをスローしてFather
、がまだ存在しているため削除できないことを示しchild
ているようです。
クラスにクラスへの直接参照がない場合、どうすればall-delete-orphan
カスケードできますか?Child
Father
Child
hibernate - Grails は GORM beforeUpdate() にフックします
親関係の更新を子に伝達するネストされたドメイン クラスに関する内部要件があります。コード例はそれを明確にするかもしれません:
親マイルストーンの EstimatedEnd が更新されると、子の見積もりが同じ量だけ自動的に更新されるようにします。GORM の beforeUpdate() フックは、これを行う論理的な場所のようです。
生活を楽にするために、いくつかの単純な Date 演算を使用したいので、Milestone クラスに次のメソッドを追加しました。
コンパイル エラーはありません。しかし、次の統合テストを実行すると:
私は得る:
これは、 beforeUpdate が起動しておらず、私が望むことをしていないことを示唆しています。何か案は?
grails - 同様の名前のクラスでの ConversionNotSupportedException
更新: クラスなどに関するいくつかの間違った仮定を作成しました。「デモ」プロジェクトがある場合、次のことが発生します。
「Company」という名前の 2 つのクラスがあります。
- 1 つは grails-app/domain/my.classes.domain.Company に配置されます
- もう 1 つは src/groovy/my.clazz.Company にあります。
最後のものには @Validateable アノテーションがあり、Config.groovy には grails.validateable.packages = ['my.clazz'] が含まれています
また、grails-app/domain/my.classes.domain.Account に Account クラスがあります。
package my.classes.domain
import java.io.Serializable;
class Account implements Serializable { Company company }
次に、次のコードを (bootstrap.groovy で) 使用します。
このアプリを実行すると、次のエラーが表示されます。
すべてがうまくいっているように見えるので、これは非常に奇妙な例外です。一部のテストでは、次の「ヒント」が証明されました。 config.groovy を変更してクラスに明示的に名前を付ける (つまり、grails.validateable.classes = ['my.classes.domain.Company'] を使用する) と、このエラーは発生しません。このエラーアカウントの会社のプロパティを別の名前に変更した場合 (およびそれに応じてブートストラップを変更した場合) は発生しません。
ただし、これらは回避策です。なぜこれが起こっているのか、私は本当に興味があります。誰か手がかりを得ましたか?
安全のために、この問題を作成するために次のことを行いました。
- ドメイン クラスを作成します: my.classes.domain.Company
- ドメインクラスを作成します: my.classes.domain.Account
- 上記のようにドメインクラスを変更します
- グルーヴィーなクラスを作成します: my.clazz.Company
- このグルーヴィーなクラスに Validatable アノテーションを付与してください。
- my.clazz パッケージを検証可能なパッケージに追加します
- ブートストラップで、新しいアカウント (会社:会社) で新しいアカウントを作成します。
grails - 複数の制約を持つgormエンティティ
上記は機能しているようですが、複数のフィールドに制約を設定すると、サーバーが起動しません
上記のコードで...私は以下の例外を取得します
原因:groovy.lang.MissingMethodException:メソッドの署名なし:org.codehaus.groovy.grails.validation.ConstrainedProperty.call()は引数タイプに適用可能:(org.codehaus.groovy.grails.validation.ConstrainedProperty)値:[org.codehau s.groovy.grails.validation.ConstrainedProperty@3343e5 [class com.nthdimenzion.domain.Book、author、class java.lang.String、{nulla ble = org.codehaus.groovy.grails.validation.NullableConstraint @ 1aea6e2 [false]}]]可能な解決策:com.nthdimenzionのwait()、any()、wait(long)、each(groovy.lang.Closure)、any(groovy.lang.Closure)、isUrl()。 domain.Book $ _ clinit _closure1.doCall(Book.groovy:16)at com.nthdimenzion.domain.Book $ _ clinit _closure1.doCall(Book.groovy)...23詳細
何か案は ?
grails - GrailsBlurbプラグイン-クラスBlurbを解決できません
私は「Grails:クイックスタートガイド」という本を読んでいて、問題が発生しました。この本では、Blurbプラグインをインストールするように求められていますが、これは機能しているようですが、ドメインクラスであるかのように使用し、既存のコントローラーを使用すると述べています。コントローラに追加するコードは次のようになります
これを行うと、IDEと実行出力で同じエラーが発生します
'クラスの宣伝文句を解決できません'そして私は特にこの行に向けられていますblurb = new Blurb(name:"custom_${event.id}" , content:"" ).save()
誰かが何がうまくいかないのか教えてもらえますか?プラグインが正しくインストールされていると想定しています。これは、プラグインのコントローラー/アクションに直接アクセスしようとすると、プラグインが提供するビューが正しくレンダリングされるためです。
ありがとう!
-参考までに、STS /Grails1.3.7を使用しています。
更新2011.05.127:45AM CST
Burtが示すようにパッケージに関連している場合にプロジェクトがどのようにレイアウトされるかを示すために、STSインターフェイスからプロジェクトを示すスクリーンショットを添付しました。ただし、問題は、importステートメントをどのように処理するかわからないため、スクリーンショットが役立つ可能性があることです。
ダッシュボードコントローラーの現在のコードは次のとおりです。
Burtの提案に従って次の行を追加しようとしましたが、明らかに正しくありません
tekdaysとdefaultを変更してみましたが、どちらも同じ結果になりました。
私はそれを間違っていますか?
ありがとう!
grails - grailsでxmlファイルを読むには?
私は grails に非常に慣れていません。おそらく、私が尋ねている最も単純な質問でしょう。ログインページを作成した自己学習用の非常に単純なアプリケーションを作成しています。ログインに成功すると、xml ファイルが読み込まれ、出力が表示されます。誰でもサンプル例でこれを説明できますか。また、xml ファイルのフォルダーの場所を教えてください。以下は私のコードです: UserController.groovy
myxml.gsp
URLMappings.groovy
ユーザーのログイン時に表示される最初のページとして index.gsp がすでにあるので、URLMappings で複数のビューを指定することはできますか? また、返信の1つで提案されているように、「myxml」という名前のアクションを定義し、「/ controller」/ myxmlなどのURLにリダイレクトする必要がある場合、それはどこになりますか? 助けてください!