我正在使用带有mongodb插件的Grails 2.1.1.我在生成列表中更改列的顺序时遇到问题.正如Grails脚手架指南所说,您只需要在约束块中正确排序属性.
我的域名:
class Section {
String idName
String visible
String required
String name
String bold
static embedded = ['question']
List<Question> questions
static hasMany = [questions : Question]
static constraints = {
idName (blank: false)
name (blank: false)
visible (blank: false)
required (blank: false)
bold (blank: false)
}
@Override
public String toString() {
name
}
}
Run Code Online (Sandbox Code Playgroud)
但列仍按字母顺序排序.我正在使用静态脚手架,所以在更改约束后我使用grails generate-all *命令并覆盖所有文件.
是的,我尝试清理和编译代码,还清理和重启服务器(这与STS集成)和清理浏览器缓存.mongo数据库有问题(hibernate插件是否已卸载)?
之后我还安装了grails模板.在list.gsp中有一行具有排序属性:
Collections.sort(props, comparator.constructors[0].newInstance([domainClass] as Object[]))
Run Code Online (Sandbox Code Playgroud)
任何想法我怎么能改变这个以获得我在约束中设置的工作顺序?
在我的Config.groovyi线:
grails.config.locations = [ "classpath:app-config.properties"]
Run Code Online (Sandbox Code Playgroud)
我在哪里设置数据源的定义.文件看起来像:
dataSource.url=jdbc:mysql://host/instance
dataSource.username=u
dataSource.password=p
Run Code Online (Sandbox Code Playgroud)
并正确地替换属性DataSource.groovy.
问题是它取代了每个环境的配置,但我需要为开发,测试和生产单独配置.试图将不同的条目存入文件,例如:
environments.development.dataSource.url=jdbc:mysql://host/dev
...
environments.production.dataSource.url=jdbc:mysql://host/prod
...
Run Code Online (Sandbox Code Playgroud)
以中定义的默认数据源属性结束DataSource.groovy.如何使一个属性文件适用于不同的环境?