2013-01-01 25 views
1

所以我一直在調查這一段時間,我不知道我的方法實際上是可能的。我對groovy非常陌生,並且非常掙扎。捕獲一個用戶列表,彈簧安全,與布爾值

我在寫一個web應用程序,可以用來監視IT項目的時間使用情況。我正在編寫我的項目類,它將保存每個項目的信息,並且我希望能夠將單個用戶關聯到每個用戶的腳手架gsp頁面上的複選框項目。因此,我想爲每個項目爲每個用戶創建一個布爾值。

我一直在使用.each()命令在我的域類中嘗試實現此目的。如下。任何人的幫助都是如此讚賞,我不能開始說。

package timetracker2 

import java.util.Date; 
import grails.timesecurity.* 

class Project { 

    String name 
    int pmgNumber 
    Projectmanagers fullName 
    String description 
    Date estimatedCompletionDate 
    String estimatedDuration 
    Date dateCreated 
    Map attachedUsers 

    def Person.each() { 
     String username = Person.username 
     attachedUsers = [username:Boolean.valueOf()] 
    } 
} 
+0

你有什麼問題/問題? – micha

+0

ummmm如何使上述實際工作。我認爲我的方法是完全錯誤的。問題是如何製作系統中所有用戶的列表,然後針對每個項目爲列表中的每個用戶創建一個布爾值? – user1854751

+0

或者是否有可能創建一個只在支架上顯示爲布爾值的選定用戶列表? – user1854751

回答

0

使用many-to-many的關係。

class Project { 
    static hasMany = [persons: Person] 
... 
} 

class Person { 
    static hasMany = [projects: Project] 
... 
} 

// get persons affiliated with a project: 
project.persons 

// get a person's projects: 
person.projects 

在你看來,你就可以顯示所有項目的列表,與選擇的也是person.projects。

+0

太棒了,非常感謝。我曾經看過這些關係操作,但不知道它們會如何影響腳手架視圖。再次感謝。 – user1854751

+0

截至目前,Grails腳手架不支持多對多關係。您必須自己調整視圖,方法是重寫項目的視圖,或者更改腳手架的模板文件。 – Nicholas