【发布时间】:2014-03-26 22:40:12
【问题描述】:
我正在尝试使用rails 做一个简单的角度应用程序。出于某种原因,当我查看检查器时,我的 <div ng-view></div> html 标记显示为 <!-- ngView: -->。我在控制台中没有收到任何错误。我是 Angularjs 的新手,我不知道为什么会这样。下面是我的代码,希望我已经包含了所有内容来给你一个想法。我正在使用“angular-rails-templates”gem,它允许我在 Angular 的模板缓存中添加我的 html 模板。
application.html.haml
!!! 5
%html{'ng-app'=>'AD'}
%head
= stylesheet_link_tag "application", media: "screen", "data-turbolinks-track" => true
= javascript_include_tag "application", "angular/discussions_app", "data-turbolinks-track" => true
%body
.col-sm-12
:plain
<div ng-view></div>
app.js.coffee
#= require_self
#= require_tree ./controllers
#= require_tree ./directives
#= require_tree ./filters
#= require_tree ./services
# Creates new Angular module called 'AD'
@AD = angular.module('AD', ['ngRoute', 'templates'])
# Sets up routing
@AD.config(['$routeProvider', ($routeProvider) ->
$routeProvider
.when('/discussion', { templateUrl: 'angular/templates/discussions/index.html', controller: 'DiscussionsIndexCtrl' } )
.otherwise({ redirectTo: '/discussions' })
])
indexCtrl.js.coffee
@AD.controller 'DiscussionsIndexCtrl', ($scope) ->
console.log 'hello'
index.html
<h1 class="text-center">Hello World</h1>
编辑 1
我有一个 Rails 路由,它是 http://localhost:3000/user/:slug/,我想在这个页面上使用 Angular.js 和我的讨论路由,所以它最终会是 http://localhost:3000/user/:slug/#/discussions。设置 Angular.js 路由的正确方法是什么?最好将:slug 存储在我的 Angular 的讨论控制器中。
【问题讨论】:
-
您要导航到哪个 URL?