2014-12-11 2 views
1

Мое приложение AngularJS получает сервер данных с рельсов JSON API и API маршрутов локализованы, например:

/:locale/api/categories/ 

Я пытаюсь определить $resource, что позволило бы локализация. До сих пор я не увенчался успехом (см. Подходы, которые я пробовал ниже).


Первая попытка

$resource('/:localeId/api/categories/:categoryId', { 
    localeId: $locale.id, 
    categoryId: "@id", 
    format: 'json' 
}) 

Это не работает. localeId оценивается только один раз, когда создается $resource.

Вторая попытка

$resource('/:localeId/api/categories/:categoryId', { 
    localeId: "$locale.id", 
    categoryId: "@id", 
    format: 'json' 
}) 

Это не работает, либо, сгенерированный URL является /$locale.id/api/categories/.

Третья попытка

$resource('/:localeId/api/categories/:categoryId', { 
    localeId: "@localeId", 
    categoryId: "@id", 
    format: 'json' 
}) 

Это работает, но обязывает меня определить localeId каждый раз я использую мой $resource.


Есть ли лучший способ, чтобы автоматически использовать $locale.id внутри моего $resource URL?

ответ

0

Просто обеспечивает функцию, которая возвращает ваше значение (see documentation):

$resource('/:localeId/...', { 
    localeId: function() { 
     return $locale.id; 
    }, 
    // ... 
}) 
+0

идеальных! Спасибо! –

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