如何在rails 4.x中调用create form时传递外键id作为参数



我的用户界面需要这样一个学生记录可以创建:

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

的验证。

最新更新