2012-09-19 23 views
1

我有一個控制器,它看起來像這樣:爲什麼我無法從控制器的腳手架模板訪問注入的服務?

class CategoryController { 

    static scaffold = true 

    def messageSource 

    def categoryService 
    ... 
} 

我想修改控制器模板使用服務需要的時候:

class ${className}Controller { 

    static allowedMethods = [save: "POST", update: "POST", delete: "POST"] 

    def list() { 
     def domainObjectsProperty = ... //long complex line 
     render view: "/${domainClass.propertyName}/list", model: [(domainObjectsProperty): ${domainClass.propertyName}Service.list()] 
    } 

    ... 
} 

表達${domainClass.propertyName}Service評估爲categoryService,但我得到的消息:

沒有這樣的屬性:categoryService類: mypackage.CategoryController

與此同時,當我調用不使用CategoryService的腳手架方法,它使用CategoryService時,一切都很好。

是什麼導致了這種行爲以及如何解決該問題?謝謝!

+0

我碰到像這樣類似的問題,去兩個方向。在非腳手架方法中使用腳手架的方法,並且反義詞似乎並不像人們期望的那樣直觀。 – cdeszaq

回答

1

我想你忘記了服務注入

class ${className}Controller { 

    def ${domainClass.propertyName}Service 

    ... 
} 
+1

我想你錯過了OP所要求的。他想從腳手架方法中使用實際控制器中的一個屬性。 – cdeszaq

相關問題