形成角度的动作

时间:2015-01-02 04:20:47

标签: javascript ruby-on-rails angularjs devise

我尝试使用angular.js设计登录并设计。

这是我的表单html:

<form ng-submit="submitLogin(loginForm)" role="form" ng-init="loginForm = {}">
    <div class="form-group">
        <label for="email">Email</label>
        <input type="email" name="email" id="email" ng-model="loginForm.email" required="required" class="form-control"> </div>
    <div class="form-group">
        <label for="password">Password</label>
        <input type="password" name="password" id="password" ng-model="loginForm.password" required="required" class="form-control"> </div>
    <button type="submit" class="btn btn-primary btn-lg">Sign in</button>
</form>

所以基本上我的表单始终是POST - /api/auth/sign_in。但是我的api在路径中也有一个版本。

因此/api/v1/auth/sign_in可以正常工作,但不会/api/auth/sign_in

如何更改表单操作以包含api版本?

更新,这是重要的角度相关信息

angular
    .module('AngularRails', [
        'ngAnimate',
        'ngCookies',
        'ngResource',
        'ngRoute',
        'ngSanitize',
        'ngTouch',
        'templates', 
        'ng-token-auth'
    ]).config(function ($routeProvider, $locationProvider) {
        $routeProvider
            .when('/app/sign_in', { 
                templateUrl: 'user_sessions/new.html', 
                controller: 'UserSessionsCtrl' 
            })
            .otherwise({
              redirectTo: '/'
            });
        $locationProvider.html5Mode({
          enabled: true,
          requireBase: false
        });
    });

submitLogin来自here。有没有办法从ng-token-auth(angular.js的基于令牌的认证模块)配置或覆盖函数submitLogin

1 个答案:

答案 0 :(得分:0)

你可以做点什么  $scope.actionUrl = $scope.ContextUrl + '/api/v1/auth/sign_in'; $ scope.ContextUrl可能是您想要提供的任何内容,以使URL可以访问。

或者

<form action="{{ ContextUrl + '/api/v1/auth/sign_in' }}">

这是一个肮脏的答案,试一试,让我知道。