想要从客户端获取数据,通过使用动作创建,如何使用创建函数中的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
我的代码从客户端获取数据是正确的还是错误的
任何人都可以解决我的问题
答案 0 :(得分:0)
我在理解你的英语方面遇到了问题,但我认为我得到了你的问题。
所以,据我所知,您希望通过客户端/浏览器的后请求将数据发送到您的rails应用程序。
当您将Post
定义为资源时,通常通过PostsController中的create action来完成。
你需要对这些名字稍微小心。 resources :posts
或resource :post
与PostsController和PostController之间存在差异。
请务必阅读有关此内容的指南:http://guides.rubyonrails.org/routing.html#resource-routing-the-rails-default
我不知道你要用create_a_post
方法做什么。那应该是控制器中的辅助方法吗?
您在create方法中对结果进行分页也很奇怪。通常的模式是创建一些东西然后重定向回索引动作。