我开始用铁轨研究角度。这是我的问题,当我发出$ 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 请帮帮我...谢谢! :)
答案 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