我有这样的域类:
class City {
String name;
Country country;
}
在创建视图中,我想将国家/地区设为选择框,如下所示:
<g:select id="country" optionKey="id" optionValue="countryName"
from="${Country.list()}" name="country" >
</g:select>
处理提交的最佳方式是什么,以便将国家/地区作为对象发送 (目前我收到一条消息:
Failed to convert property value of type java.lang.String to required type com.example.Country for property country;
nested exception is java.lang.IllegalStateException: Cannot convert value of type [java.lang.String] to required type [com.example.Country] for property country:
no matching editors or conversion strategy found
)
注意:我找到了这个匹配的问题:Grails select not returning the object but a string但解决方案并没有解决我的问题。
谢谢。
答案 0 :(得分:0)
这是因为Grails控制器无法理解如何处理country
请求参数的数值。因此,在您的控制器中,您应该写:
def country = Country.get(params.getLong('country'))
def city = new City(name: params.name, country: country)