私は現在Grailsアプリケーションに取り組んでおり、ページに選択リストを配置し、そのキーを1つの値に設定し、値を別の値に設定することを検討しています。関連するすべての要素のコードは次のとおりです。
ドメインオブジェクト:
class Cars {
String carType
String car
}
コントローラ:
def create() {
List cars = Cars.list()
[dealerInstance: new Dealer(params), cars: cars]
render(text:"This site in curently under Maintainence!")
}
意見:
<g:select name="cars.id" from="${cars}" optionKey="${carType}" optionValue="${car}"/>
このコードを実行すると、リストにデータが入力されますが、データは次のようになります。
<select id="cars.id" name="cars.id">
<option value="com.app.Cars : 1">com.app.Cars : 1</option>
<option value="com.app.Cars : 2">com.app.Cars : 2</option>
<option value="com.app.Cars : 3">com.app.Cars : 3</option>
</select>
そして私がこれを試すとき:
意見:
<g:select name="cars.id" from="${cars.car}" optionKey="${carType}" optionValue="${car}"/>
私は次のようになります:
<select id="cars.id" name="cars.id">
<option value="Audi">Audi</option>
<option value="BMW">BMW</option>
<option value="Scoda">Scoda</option>
</select>
これは私が望んでいることではありません。アプリケーション内でそのデータを使用できるように、この選択リストに別のキー値ペアを設定できるようにしたいのですが、次のように生成したいと思います。
<select id="cars.id" name="cars.id">
<option value="Saloon">Audi</option>
<option value="Hatch Back">BMW</option>
<option value="Estate">Scoda</option>
</select>
誰かがGrails内でこれをどのように達成するか教えてもらえますか?