我正在尝试使用资产的子目录中的html文件在AngularJS中的路由上设置templateUrl。它在本地运行得很好。
模板存储在:#{RAILS_ROOT}/app/assets/templates
# Sets up routing
Blog.config(['$routeProvider', ($routeProvider) ->
# Route for '/post'
$routeProvider.when('/post', { templateUrl: './assets/mainIndex.html', controller: 'PostCtrl' } )
# Default
$routeProvider.otherwise({ templateUrl: './assets/mainIndex.html', controller: 'IndexCtrl' } )])我尝试过利用asset_path,但似乎根本不起作用。
发布于 2014-07-13 17:08:32
尝试删除资产前的./
$routeProvider.when('/post', { templateUrl: 'assets/mainIndex.html', controller: 'PostCtrl' } )发布于 2014-07-14 02:47:09
我们必须使用相同的AngularJS/Rails教程。我被同样的部分卡住了。
asset_path可以正常工作。确保您的javascript.coffee文件以.erb结尾
我的模板位于:
app/assets/templates在我的main.js.coffee.erb (别忘了.erb)中,我将templateUrl定义为:
templateUrl: '<%= asset_path('mainIndex.html')%>'这在本地有效。不幸的是,它仍然不能在生产环境中工作(我使用的是OpenShift)。在(public/assets)处生成预编译的文件。但是,asset_path始终解析为
GET /assets/mainIndex.html而不是像这样:
GET assets/mainIndex-435fd76973a72d658af47da0fb824bcd.html在日志中,我看到所有的资产都引用了预编译的文件,但由于某种原因,这个templateUrl并非如此。这是我要解决的下一个问题。
https://stackoverflow.com/questions/24721013
复制相似问题