我有两个域类.A request
应该映射到color
。 color
域有3个不同的选项黄色,红色,绿色(稍后可能会有更多选项(条目))。因此,当用户保存新的request
时,我希望它与colors
之一相关联。在request
_form
我将select
Colors.list()
选项中的黄色,红色和绿色。注意:这是我的真实模型的简单示例。
问题:
我应该使用哪种映射关联? (我希望每个request
与一个color
)
当我从表单输入时,如何将color
存储在request
中?
答案 0 :(得分:0)
为了保持颜色,你有几个选择:
color
是用户提供的,则保存为字符串,或者不是来自预定义的集合。然后,在域上,您只需要定义一个名为color
的字段(枚举类型或字符串),它将作为varchar保存在数据库中。
在您的控制器中,当请求来自表单时,它将以params
对象的名称存储在params.yourColor
对象中,即{{1}}。
答案 1 :(得分:0)
因此,您的选择框选项应该具有颜色的id作为值。如果颜色域类称为颜色,请求域类将只有Color color
。如果您正在使用数据绑定,只要您的选择框的名称为color
,它就应该很好。如果您没有使用数据绑定:
new Request(...color: Color.get(params.nameOfSelectBox))