2010-02-24 6 views
2

Я использую подмости для пары контроллеров для двух доменных классов: 1 Сектор по N пунктам:Grails подмостей ссылка ссылка проблема

class Item { 

String name 

static belongsTo = [sector:Sector] 

.... 

} 

class Sector { 

String name 

static hasMany = [items:Item] 

.... 

} 

Когда я произвел соответствующие контроллеры строительных лесов, которые я использовал шаблон (класс) mgr: Sectormgr.groovy и Itemmgr.groovy.

Проблема в том, что некоторые ссылки недействительны в некоторых сгенерированных представлениях, поскольку предполагается, что я выполнил имена по умолчанию для контроллеров. Например:

  • если я иду/sectormgr/шоу/20, список элементов, связанных с ним есть ссылка/элемент/шоу/22, а/itemmgr/шоу/22

Есть ли легкое решение для этого? Я что-то упускаю, когда создаю контроллеры?

Заранее спасибо

ответ

0

Там есть пара способов решить это я верю. Проще всего придерживаться конвенции Grails' в именовании контроллеров SectorController.groovy, ItemController.groovy и т.д.

Еще один способ справиться с этим, что я думаю, что будет работать, чтобы обновить ваш Grails-приложение/CONF/UrlMappings.groovy. Вот строительные леса по умолчанию:

class UrlMappings { 
    static mappings = { 
     "/$controller/$action?/$id?"{ 
      constraints { 
       //apply constraints here 
      } 
     } 
     "/"(view:"/index") 
     "500"(view:'/error') 
    } 
} 

Вы хотите что-то вроде:

class UrlMappings { 
    static mappings = { 
     "/${controller}mgr/$action?/$id?"{ //Add mgr after controller 
      constraints { 
       //apply constraints here 
      } 
     } 
     "/"(view:"/index") 
     "500"(view:'/error') 
    } 
} 
+0

Мне любопытно узнать, работает ли это для вас. Пожалуйста, дайте мне знать! –

0

изменяющемся в URLMappings, похоже, не работает для меня, и это гораздо более глобальные изменения. Запуск intall-templates и изменение ссылок на контроллеры в src/templates/scaffolding/show.gsp было моим подходом.

После изменения шаблона вам необходимо перезагрузить сервер.

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