ROR作为服务器端,如何编写post方法从客户端获取数据

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

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

想要从客户端获取数据,通过使用动作创建,如何使用创建函数中的post方法获取数据,我的观点是如何通过post方法使用create function从客户端获取数据

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.json{ render :json => @post, :only=> :content, :location => @post }
    else
      flash[:notice] = "Error"
      @posts = Post.paginate(page: params[:page],:per_page => 5)
      format.json{ render :json => @post, :status => :created }
    end
  end
end

def create_a_post
  content = JSON.parse request.body.read
  @post = Post.new[:content]
  @post.save
end

我的代码从客户端获取数据是正确的还是错误的

任何人都可以解决我的问题

1 个答案:

答案 0 :(得分:0)

我在理解你的英语方面遇到了问题,但我认为我得到了你的问题。

所以,据我所知,您希望通过客户端/浏览器的后请求将数据发送到您的rails应用程序。

当您将Post定义为资源时,通常通过PostsController中的create action来完成。

你需要对这些名字稍微小心。 resources :postsresource :post与PostsController和PostController之间存在差异。

请务必阅读有关此内容的指南:http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default

我不知道你要用create_a_post方法做什么。那应该是控制器中的辅助方法吗?

您在create方法中对结果进行分页也很奇怪。通常的模式是创建一些东西然后重定向回索引动作。