我想使用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方法从客户端使用该数据。
答案 0 :(得分: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的内容)。此操作将解析这些数据并根据您的期望创建帖子。