Ruby on rails 在Ruby中,控制器如何响应从另一个网站重定向的操作

Ruby on rails 在Ruby中,控制器如何响应从另一个网站重定向的操作,ruby-on-rails,ruby,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 5,我是ruby的新手。我想发布一个表单数据,其中包括API密钥和一些其他字段数据到另一个网站,该网站将验证并向我的网站发送http响应200或400。如果我能够连接到api,网站将用URL重定向到我的网站,并使用我的网站将响应的附加查询字符串进行响应。我不知道如何做到以下几点: 如何使我的网站响应重定向我从网站通过控制器和行动。假设控制器为: class BooksController < ApplicationController def create Do somethin

我是ruby的新手。我想发布一个表单数据,其中包括API密钥和一些其他字段数据到另一个网站,该网站将验证并向我的网站发送http响应200或400。如果我能够连接到api,网站将用URL重定向到我的网站,并使用我的网站将响应的附加查询字符串进行响应。我不知道如何做到以下几点:

如何使我的网站响应重定向我从网站通过控制器和行动。假设控制器为:

 class BooksController < ApplicationController

  def create
   Do something

   flash[:notice] = " book was created successfully"
  end

end
class BooksController
配置我的路由以响应重定向

下面是我在视图中尝试使用的代码

   <form action="/master/master" method="POST" >
    <script
    src="https://js.example.co/v7/inline.js" 
    data-key= <%= ENV["EXAMPLE_PUBLIC_KEY"] %>
    data-email= <%= current_user.email %> 
    data-booktitle= <%= current_user.books.title %>
    data-ref= <% SecureRandom.random_number %> 
 >
  </script> 
  </form>

这只是如何将表单发布到外部网站的基础知识。你必须自己填写细节,因为我不知道外部网站做什么,也不知道脚本应该完成什么

设置要发布到远程url的表单非常简单:

# Rails 4 and earlier
<% form_tag("http://example.com/test.php", method: :post) %>
  <%= hidden_field_tag :key, ENV["EXAMPLE_PUBLIC_KEY"] %>
  <%= hidden_field_tag :title, current_user.books.title %>
  <%= hidden_field_tag :ref, SecureRandom.random_number %>
  <%= submit_tag %>
<% end %>

# Rails 5+
<%= form_with(url: "http://example.com/test.php", method: :post) do |f| %>
  <%= f.hidden_field :key, value: ENV["EXAMPLE_PUBLIC_KEY"] %>
  # ...
<% end %>

您只需创建一个响应GET的路由,并将处理表单提交的任何服务配置为重定向回它。

这里不清楚您要做什么。您是否正在尝试将请求服务器端从控制器发送到外部网站,并检查响应代码是200还是400。或者您正在尝试创建一个表单,将其发布到另一个站点,然后将用户重定向回该站点?或者你正在尝试创建一个对外部网站的ajax请求?你必须非常清楚你想发布到哪里以及谁将处理这个问题。例如,您可以创建一个发布到另一个网站的网页,然后您必须在浏览器中处理响应(因此javascript)。如果希望自己的服务器处理表单内容,则必须首先将表单内容发布到自己的服务器(rails),rails随后将表单内容发布到另一台服务器,并处理响应,然后将响应发送回浏览器。
get '/some/path', to: 'foo#bar'