1

クライアント側からデータだけを取得するのにpostメソッドを使いたいのですが、def create関数で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 メソッドを使用してクライアント側からそのデータを使用することを知りません。

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

更新しました

(クライアント側から) データを取得して作成する

あなたactioncontroller

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のようなURL ) をデータでヒットします。このアクションは、これらのデータを解析し、期待どおりに投稿を作成します。

于 2013-05-27T06:17:36.087 に答える