Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Ember客户端访问Rails后端API信息?_Ruby On Rails_Api_Ember.js - Fatal编程技术网

Ruby on rails 如何在Ember客户端访问Rails后端API信息?

Ruby on rails 如何在Ember客户端访问Rails后端API信息?,ruby-on-rails,api,ember.js,Ruby On Rails,Api,Ember.js,我是一个编码初学者,我现在正在努力,我遇到了一些麻烦。我真的非常感谢你的帮助 我的问题是:我在Rails后端使用外部API。我用的不是模型。但是,当我想从Rails类访问API信息时,教程要求我访问本节中的模型 这就是他们想要我做的: Library.BooksRoute = Ember.Route.extend({ model: function() { return this.get('store').find('book'); } }); 如何更改代码以访问API?我正

我是一个编码初学者,我现在正在努力,我遇到了一些麻烦。我真的非常感谢你的帮助

我的问题是:我在Rails后端使用外部API。我用的不是模型。但是,当我想从Rails类访问API信息时,教程要求我访问本节中的模型

这就是他们想要我做的:

Library.BooksRoute = Ember.Route.extend({
   model: function() {
   return this.get('store').find('book');
  }
 });
如何更改代码以访问API?我正在使用HTTP聚会

下面是我的活动控制器的一些外观:

class BooksController < ApplicationController
  respond_to :json
  include HTTParty
  base_uri ''   # took this out
  def index
    render json: self.class.get("")  # took out my link with API key here
  end
end

提前谢谢

余烬代码看起来是正确的。我认为混乱的一部分是Ember有自己的模型,这些模型与rails模型不同

本教程要求您卷曲书本端点。您是否验证了您可以这样做,并且正在取回一个代表您的书籍的JSON对象

如果您要返回有效的JSON,并且ember被设置为使用ActiveModelAdapter,就像教程中说的ember rails自动为您做的那样,那么模型路由中的this.store.find'book应该向rails API book端点发出GET请求。您可以在chrome开发者工具中执行网络跟踪来验证这一点


你有什么证据表明这不起作用?

我想我对如何提出请求感到困惑。。因为如果我是正确的,我现在不会尝试访问模型,我正在尝试访问使用HttpParty并具有外部API调用的Ruby控制器。。我不知道如何在Ember.js中调用我的API。。Ember.route.extend部分对我来说最让人困惑。。它想让我使用模型:函数代码,但我不是在试图访问模型,而是从我的控制器和httparty的API中获取信息。非常感谢你的帮助!我真的很感激。再次谢谢你。。这件事我已经坚持了一个星期了。我真的希望能够使用HTTParty并访问我的API信息,但我不知道如何…假设您按照教程进行操作并设置了所有其他内容,Ember应自动向您的rails控制器发出请求,而当您加载图书路线时,该控制器将命中您的API,即在web浏览器中访问该路线的url。我建议您阅读并浏览emberjs.com上的教程,以便更深入地了解ember的基础知识,然后慢慢地与api集成。哦,当您访问ember中的路由时,“模型挂钩”中的代码将自动执行。返回值将用作与该路由关联的余烬控制器、模板等的模型。如果这没有多大意义,您可能想学习一些关于MVC模式模型、视图控制器的书籍,或者浏览这里的一些书籍,以了解Ember上下文中的MVC: