1

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

后控制器.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

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

4

1 回答 1

1

应该试试JSON这个XML

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)。此操作将解析这些数据并按照您的期望创建一个帖子。

于 2013-05-27T06:17:36.087 回答