使用Angular前端连接Rails后端

时间:2015-06-11 07:24:10

标签: ruby-on-rails json angularjs resources jbuilder

我是Angular的新手,我非常感谢能帮助我连接我的人 Rails后端跟我的Angular前端。

在我的Angular controller中,我想从JSON后端检索Rails数据。使用jbuilder,我可以从此网址中检索JSON:http://localhost:3000/assessments/1.json。 JSON是:{"id":1,"course_id":1,"part_id":1,"lesson_id":1,"type_of":"Quiz"}。这看起来好像是后端明智的。但是,当我尝试在我的Angular控制器中检索那个JSON时......

app.controller('ThisController', [
'$scope',
'$resource',
function($scope, $resource){
  var Assess = $resource("/assessments/:id.json", {id: "@id", format: 'json'});
  console.log(Assess);
  console.log(Assess.get());

  Assess.get(function(callbackdata){
      //function is called on success
      console.log(callbackdata);
    }
  );

  $scope.findType = function() {
    $resolved = true;
    $scope.description = 'This is a ' + Assess.type_of + '!';
  };

}]);

...我在console.log ...

中得到了这个
  1. function Resource(value)
  2. Resource {$promise: Promise, $resolved: false}
  3. Resource {0: "<", 1: "!", 2: "D", 3: "O", 4: "C", 5: "T", 6: "Y", 7: "P", 8: "E", 9: " ", 10: "h", 11: "t", 12: "m", 13: "l",...
  4. 第三个console.log输出是从我的layout/application.html.erb文件分解的单个字符串字符!

    在我的角度视图中......

    <div>
      <h3>Type:</h3>
        <button ng-click='findType()'>Find Type</button>
      <hr>
      {{description}}
    </div>
    

    ...当我为This is a undefined!调用'findType()' ...的函数时,我得到{{description}}

    如果有人能告诉我$resource出了什么问题,我一定会很感激。 PS:我设置了ngResource依赖项,因此不是问题。非常感谢!!

1 个答案:

答案 0 :(得分:0)

您可以在Chrome检测器的“网络”标签中查看哪些角度请求及其响应。还要检查Rails的日志以查看格式是否正确处理。