作为Rails的家伙,我爱我一些Haml或Slim。但是,在使用AngularJS时,我也没有太多运气。是否有一个AngularJS友好的模板引擎,并且比直接HTML更简洁?
答案 0 :(得分:1)
我在angularjs模板中使用slim。我花了很长时间才弄清楚如何去做,但是一旦你知道怎么做就很容易做到。
添加slim gem和bundle install。
确保您有模板目录。我的是:
assets/javascripts/templates
然后在config / initializers中创建一个文件。我只是slim_engine.rb。这个名字并不重要。
然后在该文件中包含以下行:
Rails.application.assets.register_engine('.slim', Slim::Template)
这是我使用其中一个模板的路由提供程序的片段:
angular.module('customer_app', ['customer_service'])
.config(['$routeProvider', function($provider) {
$provider.when('/:customer_id/edit/', { templateUrl: '/assets/customers/edit.html.slim', controller: 'CustomersController' });
}])
.config(["$httpProvider", function(provider) {
provider.defaults.headers.common['X-CSRF-Token'] = $('meta[name=csrf-token]').attr('content');
}]);
完整的模板路径是:assets / templates / customers / edit.html.slim
希望这有帮助!
答案 1 :(得分:0)
我已经写过如何使用haml为您的angularjs模板使用rails并在一个请求中正确加载所有模板:http://minhajuddin.com/2013/04/28/angularjs-templates-and-rails-with-eager-loading