2012-01-30 2 views
12

Я боролся с различными проблемами включения ресурсов в мою миграцию из Grails 1.3.7 от Grails 2.0, возможно, не понимая нескольких вещей для начала.grails 2.0 включая ресурсы простой способ?

Во-первых, то, что делает

<g:javascript library="application" /> 

делать? (это было в файле main.gsp по умолчанию, указанном в Grails 1.3.7).

Во-вторых, для включения JQuery по моей заявке, я могу просто сделать

<r:require module='jquery' /> 
<r:layoutResources /> 

в верхней части моей главной странице SiteMesh, которая делает

<g:layoutHead /> 
    ... 
<g:layoutBody /> 

и «покончить с этим», Использование

<r:layoutResources /> 

во второй раз после

<g:layoutBody /> 

Благодаря

ответ

12

Да я боролся немного с этим сначала тоже. .

Так во-первых, <g:javascript library="application" /> относится к модулю, определенной в конфиге/Resources.groovy файл * (по умолчанию конфигурации/ApplicationResources.groovy), внутри, что вы назвали модули, например:

modules = { 
    application { 
      resource url: 'js/jquery/jquery-ui-1.8.15.custom.min.js', disposition: 'head' 
    } 
} 

Во-вторых например, с помощью main.gsp Grails2 (урезывание много здесь):

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title><g:layoutTitle default="Grails"/></title> 
    <link rel="stylesheet" href="${resource(dir: 'css', file: 'main.css')}" type="text/css"> 
    <link rel="stylesheet" href="${resource(dir: 'css', file: 'mobile.css')}" type="text/css"> 

    <link rel="stylesheet" href="${resource(dir: 'css/redmond', file: 'jquery-ui-1.8.15.custom.css')}" type="text/css"> 

    <g:layoutHead/> 
    <g:javascript library="jquery"/> 

    <r:require module="application"/> 
    <r:layoutResources/> 

</head> 

<body> 
    <g:layoutBody/> 
    <r:layoutResources/> 
</body> 
</html> 

Надежда, которая устанавливает вас в правильном направлении

+0

Вопрос - это «приложение» в г: JavaScript та g, а также в теге r: require, ссылаясь на префикс приложения «ApplicationResources.groovy» или ссылаясь на объявление приложения {} внутри ApplicationResources.groovy? – Ray

+0

Я думаю, что это просто тот, который содержится в ApplicationResouces.groovy, где любой файл, который вы помещаете в этот каталог конфигурации, будет поднят из полузасушивающей документации по этому вопросу, и насколько я могу сказать, что никакая предыдущая документация по исходный вопрос (в 1.3.7). – Ray

+1

Он относится к имени модуля в файле. Шаблон имени файла - * Resource.groovy; так что это могло быть MyResources.groovy, а имя модуля могло быть «приложением», но тогда r: require пришлось бы обновить, чтобы указать на «приложение» .... Я совершенно уверен, что g: javascript - это одна и та же – Steve