将POST请求发送到另一个操作

时间:2013-09-11 22:49:12

标签: ruby-on-rails ruby-on-rails-4

这只是一个知道如何从动作发送POST请求的示例。所以,假设我有一个动作:

def download
  @t = params[:url]
end

我想向其他操作发送POST请求,我们称之为doStuffWithPost

def doStuffWithPost
  # Save a row with that POST info, url_column = POST['url']
end

def download
  @t = params[:url]
  # Send POST with POST['url'] = @t
end

在PHP中我可能会使用CURL,这需要很多代码。在Rails中有一种简单的方法吗?如果没有,我应该使用什么来从一个动作传递参数并调用另一个动作?感谢。

2 个答案:

答案 0 :(得分:0)

不需要在这里发布另一个动作,只需按照rails模式(如果你曾经搭建了一个新资源,你应该在之前看过这个):

def download
  url = Url.new(params[:url])
  if url.save
    redirect_to happy_route
  else
    redirect_to unhappy_route
  end
end

答案 1 :(得分:0)

您可以使用httpparty gem执行此操作。这是一个帖子方法example 但是,就像其他人说的那样,如果你没有充分的理由,不要使用它。如果你需要和api交谈,你可以使用它......