如何使用rails post方法从客户端获取数据(android)

时间:2013-05-27 06:10:29

标签: ruby-on-rails ruby json post ruby-on-rails-3.1

我想使用post方法从客户端单独获取数据,如何在def create function中使用post方法来获取数据。

post controller.rb

def create 

    @post = Post.new(params[:post])
    if @post.save
      flash[:notice] = "Prayer Successfully created."
      @posts = Post.paginate(page: params[:page],:per_page => 5)
    else 
      flash[:notice] = "Error"
      @posts = Post.paginate(page: params[:page],:per_page => 5)
    end


  end

从客户端获取数据的post方法,我必须使用def create,我是ruby on rails的新手,我不知道使用post方法从客户端使用该数据。

1 个答案:

答案 0 :(得分:1)

应针对JSONXML

尝试此操作
def create 
 respond_to do |format|

   @post = Post.new(params[:post])
    if @post.save
      flash[:notice] = "Prayer Successfully created."
      @posts = Post.paginate(page: params[:page],:per_page => 5)
      format.xml { render :xml => @post, :status => :created }
      format.json{ render :json => @post, :status => :created }
    else 
      flash[:notice] = "Error"
      @posts = Post.paginate(page: params[:page],:per_page => 5)
      format.xml { render :xml => @post, :status => :created }
      format.json{ render :json => @post, :status => :created }
    end
 end 
end

<强>更新

获取数据(来自客户端)并创建

action

中创建controller
def create_from_app
   data_json = JSON.parse request.body.read

   @post = Post.new(data_json)
   @post.save
end

您的Android应用程序将使用数据点击此操作(类似http://www.exaple.com/create_from_app的内容)。此操作将解析这些数据并根据您的期望创建帖子。