Rails 5 API 和 Phonegap

Rails 5 API and Phonegap

任何人都可以解释如何或指导我详细解释如何将 Rails 5 API 连接到 Phonegap 的教程。我是 Rails 的新手,没有使用 phonegap 的经验,这几天一直在寻找可以详细解释这一点的内容。我在前端使用 HTML5、CSS 和 JQuery。

非常感谢任何帮助。

    <?xml version='1.0' encoding='utf-8'?>
<widget id="com.yourname.workshop" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Workshop</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="http://localhost:3001" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">
        <allow-intent href="market:*" />
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
    </platform>
</widget>

您 "connect" 在 Phonegap 中使用后端 Rails API 编写的前端应用程序的方式是使用 HTTP 请求。

Rails has an official guide for writing API-only applications. 您的应用不必只提供 API,但它需要提供一些易于解析的数据。 (通常JSON)

然后,您使用前端的库向后端定义的特定端点发出请求API。然后您可以解析响应以执行您需要执行的任何操作。 jQuery makes it easy to make requests.

在 Rails 中,让我们假设我有一个控制器,允许您对某些博客的帖子或其他内容进行常规的 CRUD 操作。它可能看起来像这样:

class PostsController < ApplicationController
  responds_to :json

  def show
    @post = Post.find(params[:id])
    respond_with(@post)
  end

  def index
    @posts = Post.all
    respond_with(@posts)
  end

  def create
    @post = Post.create(params[:post])
    respond_with(@post)
  end

  def update
    @post = Post.find(params[:id])
    @post.update_attributes(params[:post])
    respond_with(@post)
  end
end

现在您可以从 JavaScript(或其他任何东西)向这些操作发出 HTTP 请求:

$.get('/posts', {}, function(response){
  // response here is the data returned by the Post#index action
})

$.post('/posts', {post: {content: "post content"}}, function(response){
  // response here is the data returned by the Post#create action
})

这是一个非常基本的示例,但大多数 Web 应用程序只是此概念的一些变体。