【发布时间】:2014-07-10 20:32:30
【问题描述】:
所以,我正在尝试使用 AngularJS 中的模板文件夹,而不是您通常在 Rails 中使用的“视图”文件夹。
当我用 html 编写所有东西时,一切都很好,但是如果我想用 slim 编写东西,并且仍然使用 AngularJS 模板而不是 rails 视图怎么办?
不幸的是……它不太好用。它在我的页面开头添加了这个,然后它成功地将其余部分从 slim 渲染为 html:
Angular Rails 模板 // 来源:app/assets/templates/books/indexx.html.slim
angular.module("templates").run(["$templateCache", function($templateCache) { $templateCache.put("books/indexx.html", '
//the rest of my webpage, beautifully rendered from slim to html****
') }]);
所以它很接近,但没有雪茄。我已经看到了其他解决方法,包括进入 Rails 中的配置文件夹并添加文件等等......但它们似乎都不起作用。我应该看这里的任何方向吗?我的主要目标是能够在 AngularJS 中使用“模板”(主要是这样我可以使用 ui 路由器),但能够用 SLIM 而不是 html 编写它们。
编辑:嗯...刚刚重新启动了我的服务器,现在一切正常。真正可怕的是,如果没有“角导轨模板”gem,一切都可以工作......而且在config/initializers/angular_helper.rb 中也没有任何特殊的配置文件,看起来像:# 对于 Slim,还要记住将 gem 添加到 Gemfile Rails.application.assets.register_engine('.slim', Slim::Template)
我所要做的就是在我的ui-router 中调用filename.html.slim...一切正常。重启服务器我猜是教训
抱歉浪费了 Stackoverflow 空间
【问题讨论】:
-
我们可以查看您的 application.js 文件吗?您的 Angular 应用程序的主要应用程序。
-
嗯...刚刚重新启动了我的服务器,现在一切正常。真正可怕的是,没有'angular rails templates' gem,一切都可以工作......而且在 config/initializers/angular_helper.rb 中也没有任何特殊的配置文件,如下所示: # 对于 Slim,还要记住将 gem 添加到 Gemfile Rails。 application.assets.register_engine('.slim', Slim::Template) 我所要做的就是在我的 ui-router 中调用 filename.html.slim ......一切正常。重启服务器我猜是教训
-
你必须小心,因为资产管道,它不会在生产中工作。该 gem 的全部意义在于对模板进行一致的缓存。确保在真实服务器上对其进行测试。
标签: ruby-on-rails angularjs templates slim-lang