【发布时间】:2015-12-29 04:35:58
【问题描述】:
我正在尝试发送迭代项目的 ID,但我认为正在发送整个列表。如何只发送一个 ID?
我有STUDENT 和COURSE 域类。
领域模型
class Student {
String fullName
String toString() {
"$fullName"
}
static belongsTo = [school: School]
static hasMany = [courses:Course, studentCourses:StudentCourse]
}
class Course {
String course
String toString() {
"$course"
}
static hasMany = [studentCourses:StudentCourse]
static belongsTo = Student
}
class StudentCourse {
Student student
Course course
//Some methods...
}
这是我的编辑视图。
<g:if test="${studentInstance.studentCourses?.course}">
<g:each class="courseList" in="${studentInstance.studentCourses?.course}" var="courses">
<li class="courseList">
<span class="courseList" aria-labelledby="courses-label">${courses.id} ${courses}
<g:actionSubmitImage class="deleteIcon" action="deleteCourse" value="delete"
src="${resource(dir: 'images', file: 'delete.png')}" height="17"
onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');"
params="${courses.id}"/></span>
</li>
</g:each>
</g:if>
当用户点击delete.png 图片时,我希望能够从列表中删除一门课程。但是当我println params.course 时,参数作为整个列表发送,而不是作为列表的单个项目发送,即使它在g:each 标记内。我怎样才能只向控制器发送一个相应的项目?
我的编辑页面有一个课程列表。
Course 23 English (delete icon here)
42 Science (delete icon here)
67 Math (delete icon here)
在我的println params.course 中,这是我看到的。
[ English, Science, Math ]
当用户单击English 行旁边的删除按钮时,我怎么才能只有[English]?
提前谢谢你。
【问题讨论】:
-
这种情况在每个浏览器中都会发生,还是您只在 IE 中看到?
-
我使用的是谷歌浏览器,但
println命令正在从控制器发送到控制台。
标签: grails many-to-many parameter-passing grails-2.4