【问题标题】:GORM: populate list into select dropdownGORM:将列表填充到选择下拉列表中
【发布时间】:2014-07-16 15:41:06
【问题描述】:

我正在处理一个 Grails 表单项,它只填充来自 FaqCategory 域类的 FaqCategories 列表。我想要选择下拉列表做的就是显示列表。到目前为止,这种方法有效,但我不确定如何生成列表或将什么放入 Value 部分(如果有的话)。

Form item:

    <div class="col-sm-9">
        <g:select name="Category" from="${FaqCategory.list()}" required="" class="form-control" aria-labelledby="faqCategory-label" value=""/>
    </div>

域类 #1

class Faq {

    String question
    String answer
    FaqCategory faqCategory

    static constraints ={
        question nullable:false, maxSize:1000
        answer nullable:false, maxSize:1000
        faqCategory nullable:false
    }
}

域类 #2

类 FaqCategory {

String categoryType

String toString(){
    "$categoryType" 
}

static constraints = {
    categoryType nullable:true, maxSize:100, unique:true
}

}

控制器sn-p

@Transactional(readOnly = true)
def create() {
    respond new Faq(params)
}

【问题讨论】:

    标签: grails grails-orm


    【解决方案1】:

    控制器代码:

    yourAction(int id){
    
      //do some 
       def faqInstance = Faq.get(id)
       render[view:"form",model:[faqInstance:faqInstance]]
    }
    

    查看代码:

    <g:select name="faqCategory"
              from="${FaqCategory.list()}"
              value="${faqInstance?.faqCategory?.categoryType}"
              optionKey="id" />
    

    希望对你有帮助..

    【讨论】:

      【解决方案2】:

      您没有提供足够的信息来显示使用此选择的上下文,因此很难准确地说出您需要什么,但这样的事情应该可以工作:

      <g:select name="faqCategory"
                from="${FaqCategory.list()}"
                value="${you only need this if you want to preselect a value}"
                optionKey="id" />
      

      请参阅http://grails.org/doc/latest/ref/Tags/select.html 了解更多详情。

      希望对你有帮助。

      【讨论】:

      • 这很奇怪 - 有时这会很好用。但每隔一段时间我就会收到类似“无法获取构造函数”或“faqCategory 为空”类型的错误。
      • 您的应用程序中可能存在许多可能导致这种情况的事情。我展示的示例将在您的表单中创建一个输入字段,输入字段将命名为faqCategory。提交表单时,faqCategory 请求参数的值将与您选择的项目相对应。在您的控制器中,您可以根据需要直接检索该参数的值,或者更有可能在批量属性分配期间使用new Faq(params)faqInstance.properties=params 之类的值。使用该值的代码中可能有问题。
      猜你喜欢
      • 1970-01-01
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多