2013-08-20 33 views
0

我擁有域類TestUnit,TestParameterParameterRange,如下所示。在grails中跨控制器傳遞對象

class TestUnit { 
    static hasMany = [testParameters : TestParameter] 
} 

class TestParameter { 
    static hasMany = [paramRanges : ParameterRange ] 
    static belongsTo = [testUnit : TestUnit] 
} 

class ParameterRange { 
    static belongsTo = [testParam : TestParameter] 
} 

我想在ParameterRangeController添加TestUnit對象(即,testUnitInstance.id)。

由於我是新來的Grails,我不知道該怎麼做,任何人都可以請給我解釋一下嗎?

我已經試過:

def testUnitId = params.testUnitId 
def testUnitInstance = TestUnit.get(testUnitId) 
def testParameterInstance = TestParameter.get(params.id) 
[parameterRangeInstanceList: testParameterInstance.paramRanges, parameterRangeInstance: new ParameterRange(),testParameterInstance:testParameterInstance, page:"Range", testUnitInstance:testUnitInstance] 
+0

問題不明確,但我認爲它必須是基本的。我建議你在「從Grails開始」中學習一個教程。他們將向您展示如何爲簡單的Web應用程序製作CRUD界面。 –

回答

2

你可以操縱的控制或服務的多個域類,有沒有限制了這一點。

class ParameterRangeController { 
    def show() { 
    //you can get other domain classes... 
    TestUnit theUnit = TestUnit.get(1) 
    render view: 'show', model: [theUnit:theUnit, ...] 
    } 
} 

由於TestUnit有關TestParameter,您也可以訪問它想:

ParameterRange range = ParameterRange.get(1) 
println range.testParam.testUnit 

我建議你採取the docs about GORM一看,有很多有用的信息。

+0

雅感謝這麼多,這是我在list動作都做,但是當我打印theUnit它顯示空 – John

+0

高清testUnitId = params.testUnitId \t \t高清testUnitInstance = TestUnit.get(testUnitId) \t \t高清testParameterInstance = TestParameter.get (params.id) \t \t [parameterRangeInstanceList:testParameterInstance.paramRanges,parameterRangeInstance:新ParameterRange(),testParameterInstance:testParameterInstance,頁面: 「範圍」,testUnitInstance:testUnitInstance]對不起,問更多的問題,而不是關於搜索格姆文檔 – John

+0

大概PARAMS .testUnitId爲空? –

相關問題