rails 5 - 从angular发送数据时的ActionController :: UnknownFormat

时间:2016-10-01 10:29:54

标签: ruby-on-rails angularjs

我开始用铁轨研究角度。这是我的问题,当我发出$ http.get()请求它返回并出错时,我认为rails不想接受这些数据。这是我的代码:

查看:

<div class="row">
        <div class="col-md-12">
          <div class="form-group">
            <label for="signup_user_name">User name: </label>
            <input type="text" name="instructor[user_name]" id="signup_user_name" class="form-control" required="true" ng-model="instructor.username"/>
            <button type="button" class="form-control btn btn-default" ng-click="validate()">validate username</button>
          </div>
        </div>
      </div>

控制器:

signup.controller('signupController', function($scope, $http){

    $scope.validate = function() {

    var username = $scope.instructor.username

    var sent_data = { "username" : username };

    $http.get('/home/signup', sent_data).success(
      function(data, status, headers, config) {
        // write code later
      }).error(
      function(data, status, headers, config) {
       // write code later
      });
    }
});

rails方法:

def signup
   params[:username] // trying to print the paramater sent by angular via $http.get() 
end

结果如下:

rfc2254 请帮帮我...谢谢! :)

1 个答案:

答案 0 :(得分:0)

这不是你通过角度

的get请求将params传递给rails的方式

这是一个如何传递数据的示例

$http.get('/home/signup', {
  params: {
    username: 'yourusername'
  }
});

另一件事,你应该在你的rails api中渲染一些东西,并且因为你使用angular作为你的forntend框架,那么也许你应该渲染json或文件

尝试使用此行您的rails api

render json: params[:username]

检查发送到您的rails api的数据,您可以检查您的控制台,使用puts或byebug