2014-12-22 3 views
0

я хочу использовать пост Params, чтобы получить доступ к домену в контроллере для создания, обновления или удаления экземпляра как в этом примереимени динамического класса контроллера Grails

def getForm(String name){ 
     // name = "User" 
     def className = "com."+name 
     def nameInstance = new className(params) //nameInstance = userInstance , className = com.User 
     [nameInstance :nameInstance] 
} 

ответ

1

Вводит grailsApplication в контроллер, то вы можете создать экземпляр класс со следующим:

def clazz = grailsApplication.getDomainClass(className).clazz 
def nameInstance = clazz.newInstance(params) 
+0

благодарственного но @ Dave не работает для создания новых данных, это работа для FindAll, получить, список –

+4

вы не можете использовать 'new' с переменным, но вы можете использовать это вызов статических методов. Используйте 'clazz.newInstance (params)' для вызова конструктора. –

+0

спасибо сэр !! это работа –

Смежные вопросы