我的用户界面需要这样一个学生记录可以创建:
1) 18岁以上的学生
或
2)如果学生年满18岁,则必须由家长创建。
在学生表单中,我有出生日期字段,我可以将其用于isadult
验证,但我有点困惑如何处理上述逻辑。
我猜它可以通过传递parent_id
参数值到http://localhost:3000/student/new
形式调用来实现。当用户表示他是成年人时,不包含parent_id
参数值,否则,如果用户已经以父母身份登录,则将该parent_id
传递给http://localhost:3000/student/new?parent_id=1
(例如)。
我很难理解这将如何实现。需要一些示例代码来实现。请随时提问
正如Iceman所建议的,您不需要将parent_id作为参数传递。在控制器的create中,你可以这样做
@student = Student.new(params)
@student.parent_id = @current_user.id if @current_user.isadult?
在Student模型中,您可以添加当前用户超过18岁或具有父id