AngularJS和Rails模板引擎

时间:2013-04-19 00:33:29

标签: ruby-on-rails angularjs haml

作为Rails的家伙,我爱我一些Haml或Slim。但是,在使用AngularJS时,我也没有太多运气。是否有一个AngularJS友好的模板引擎,并且比直接HTML更简洁?

2 个答案:

答案 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