2

Я работаю над рельсами + angularjs.Угловые + рельсы: директива ngInclude не работает

Вот моя структура файла:

app/ 
assets/ 
    javascript/ 
    templates/ 
     home.html 
     partial.html 

Внутри файла home.html.erb Я хочу, чтобы включить файл partial.html.erb.

home.html.erb

<ng-include src="'partial.html'"></ng-include> 

Я также попытался

<ng-include src="'<%= asset_path('partial.html') %>'"></ng-include> 

Но до сих пор не работает ... Спасибо за вашу помощь

ответ

1

Setup gem "angular-rails-templates"

Он будет автоматически компилировать шаблоны в JavaScript, и сделать их доступными для угловой. После этого вы можете использовать ng-include, как обычно.

<ng-include src="'templates/partial.tpl.html'"></ng-include> 
1

Это не очень хорошая идея смешать шаблонов серверов и шаблонов AngularJS. Поместите свои шаблоны AngularJS в свой общедоступный каталог, затем поместите в атрибут src путь к этому шаблону от клиента.

public/templates/partial.tpl.html =><ng-include src="'/templates/partial.tpl.html'></ng-include>"

Другой способ получить шаблон от клиента для компиляции шаблонов в файл JS с html2js, например.