問題タブ [grails-2.4]
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 - 多対多のデータ永続化 (編集済み)
わかりました、道に迷ってしまいました... ドメイン クラスStudent
とCourse
. クラスCourse
が設定されます。テーブルに新しいコースを追加しません。学生は多くのコースを持つことができ、コースは多くの学生を持つことができます。私が持っているものを見て、私を正しい道に導いてください。
これで、新入生情報を入力すると、ビューが爆破されないので、それでいいのですが、学生情報は保存されますが、joinTableSTUDENT_COURSE
は空白です。どういうわけか、Studnet とコースの PK ID を joinTable に渡す必要があることはわかっていますが、方法と場所がわかりません。(studentController の下に入っていdef save()
ますか?)
また、どの.gsp
ように見えるでしょうか? これは私が持っているものであり、私はそれが間違っていることを知っています.(id="coursetags" is jQuery autocomplete id)
私の_form.gsp
入力部分。
私の結果は次のようになります。
私はこれらのサイトを分析しようとしています...
http://chrisbroadfoot.id.au/2008/07/19/many-to-many-relationship-mapping-with-gorm-grails/
https://grails.github.io/grails-doc/3.0.x/guide/GORM.html#manyToMany
https://grails.org/wiki/Many-to-Many%20Mapping%20without%20Hibernate%20XML
ありがとうございました。
編集1
私のコントローラー
EDIT 2
だから、私はいくつかの研究を考えていました.... SQLを直接使用してSTUDENT_COURSE
テーブルを結合しない限り、別のドメインクラスを作成し、とクラスのStudentCourse
両方を にマップする必要があります。あれは正しいですか?Student
Course
StudentCourse
grails - Grails - ビューからコントローラーに 1 つの ID を送信する方法 (多対多の関係)
繰り返しアイテムの ID を送信しようとしていますが、リスト全体が送信されているようです。ID を 1 つだけ送信するにはどうすればよいですか? 私はドメインクラスを持っSTUDENT
ています。COURSE
ドメイン モデル
そして、これが私の編集ビューです。
delete.png
ユーザーが画像をクリックしたときに、リストからコースを 1 つ削除できるようにしたいと考えています。しかし、パラメーターがタグprintln params.course
内にある場合でも、リストの個々の項目としてではなく、リスト全体としてパラメーターが送信されている場合。g:each
対応するアイテムを1つだけコントローラーに送信するにはどうすればよいですか?
私の編集ページにはコースのリストがあります。
私の中でprintln params.course
これが私が見ているものです。
[English]
ユーザーが行の横にある削除ボタンをクリックしたときにどうすればよいEnglish
ですか?
前もって感謝します。
grails - Grails 2.4.4 と joda-time プラグインが機能しない
私はこれに2日間苦労しており、これまで読んだことはすべてうまくいかないようです. Grails 2.4.4 で joda-time プラグインを使用することは可能ですか? 誰かがこれをしましたか?新しい 2.4.4 アプリケーションを作成し、ドメイン クラスを作成し、joda-time プラグインを追加したところ、実行時に次のエラーが発生しました。
ドメイン [Domain Name Here] の ORM マッピング ブロックの評価中にエラーが発生しました: No such property: org for class: org.codehaus.groovy.grails.orm.hibernate.cfg.HibernateMappingBuilder
1.6-SNAPSHOT までのバージョンのプラグインを試しましたが、何も動作しないようです。
grails - クラス「jxl.biff.EmptyCell」のオブジェクト「jxl.biff.EmptyCell@47821b4b」をクラス「jxl.DateCell」にキャストできません
私のドメイン モデル
私のコントローラー
grails データベースの .xls ファイルからデータをロードしたいのですが、データをロードしている xls ファイルが保存されず、次のエラーが発生します。クラス「jxl.biff.EmptyCell」のオブジェクト「jxl.biff.EmptyCell@47821b4b」をクラス「jxl.DateCell」にキャストできません。
tomcat - Java 上の Grails 2.4.2 > 1.8.0_31 は Tomcat では動作せず、Glassfish では動作します
ローカル環境:
- Grails v2.4.2
- Java v1.8.0_66
- Tomcat v7.0.53
- ウィンドウズ10
サーバー環境:
- Grails v2.4.2
- Java v1.8.0_66
- Glassfish v4.1.1
- Ubuntu v14.4.01
問題の説明:
最近、非常に古い Debian Linux サーバーから Docker コンテナーに grails アプリを移行しました。それはすべて完璧に機能しました。Java 1.8.0_66 でアプリをビルドし、Glassfish コンテナーにデプロイし、MySQL コンテナーともリンクしました。使用した Docker イメージはglassfish/server
、Docker ハブからのものです。このイメージは Glassfish 4.1.1 と Java 1.8.0_66 を使用しています。
ただし、ローカルでは、run-app
またはを使用できませんtest-app
。これはスタックトレースです:
同じ VM で Glassfish をローカルで使用すると、問題なく動作します。これはTomcatの問題だと思います。この質問は、Java > 1.8.0_31 が Grails でうまく動作しないことを理解するのに役立ちました。しかし、Grails は主に Tomcat で使用されるため、Glassfish では問題なく動作し、Tomcat では動作しなかったことにさらに驚きました。
開発のために、Java > 1.8.0_31 でrun-app
andコマンドをローカルで使用する回避策はありますか? test-app
または、そうでない場合、統合された Tomcat 環境なしですべてまたは特定の Spock-Unit-Tests を実行する他の便利な方法はありますか?