Grailsで生成された(足場の)状態ドロップダウンボックスのデフォルト値を設定することは可能ですか?これが、ドメインクラスまたはコントローラークラスのいずれかで実行できることを望んでいます。
class State {
String name
String code
static mapping = { sort name: "asc" }
String toString() {
return this.name;
}
}
class Person implements Comparable {
String firstName
String lastName
State state
String toString() {
return this.lastName + ", " + this.firstName;
}
}
運が悪かったので、明示的に設定し、Stateドメインクラスに入れてみString name="Pennsylvania"
ました。String code="PA"
Bootstrap.groovyの状態データをブートストラップしています。
def init = { servletContext ->
if (!State.count()) {
new State(name: "Alabama", code:"AL").save(failOnError: true)
new State(name: "Alaska", code:"AK").save(failOnError: true)
new State(name: "Arizona", code:"AZ").save(failOnError: true)
new State(name: "Arkansas", code:"AR").save(failOnError: true)
....
}
}
更新しました:
PersonController.groovy:
def create() {
// [personInstance = new Person(params)]
def personInstance = new Person(params)
personInstance.state = new State("Pennsylvania", "PA")
[personInstance: personInstance]
}
State.groovy:
public State(String name, String code) {
this.name = name
this.code = code
}