Reputation: 2489
So I am trying to pass values from my form to the controller. The controller then uses those values to create a "Course". I can't seem to pass the data but courses are being created. Here is my view
#{form @Courses.save()}
<div>
Course Name: <input type="text" name="courseName" />
</div>
<div>
Course Code: <input type="text" name="courseCode" />
</div>
<div>
Course Description: <input type="text" name="courseDescription" />
</div>
<div>
Course Credit: <input type="text" name="courseCredit" />
</div>
<div>
Course Total Capacity: <input type="text" name="courseTotalCapacity" />
</div>
<div>
Course Is Active?: <input type="text" name="courseIsActive" />
</div>
<div>
Course Department: <input type="text" name="department" />
</div>
<div>
<input type="submit" value="Create Course" />
</div>
#{/form}
And here is my controller method
public static void save(String course_name, String course_code, String course_description, String credit, String capacity, String isActive){
Course course = new Course(course_name, course_code, course_description, credit, capacity, isActive).save();
course.save();
renderJSON(course);
}
Upvotes: 0
Views: 1175
Reputation: 140
In your view you could replace your data name to course.Name, course.Code, ...
#{form @Courses.save()}
<input type="text" name="course.name" />
<input type="text" name="course.code" />
<input type="text" name="course.description" />
...
#{/}
And in your controller, you could write this:
public static void save(Course course){
course.save();
renderJSON(course);
}
Upvotes: 0
Reputation: 2826
Your input names in the HTML are not matching the actions method's parameters (Instead of course_name
you need to write courseName
and so on, like in the HTML).
public static void save(String courseName, String courseCode, String courseDescription, String courseCredit, String courseTotalCapacity, String courseIsActive){
Course course = new Course(courseName, courseCode, courseDescription, courseCredit, courseTotalCapacity, courseIsActive).save();
course.save();
renderJSON(course);
}
Upvotes: 2