制作一个提交按钮 link 到另一个页面

Make a submit button link to another page

我正在使用嵌入式 ruby。 所以我有代码:

<%= f.submit "Log in", class: "btn btn-primary" %>

我想在提交输入文本字段的信息时将此按钮 link 转到另一个页面。这可能吗?

如果您需要任何其他信息,请告诉我。谢谢

提交表单的控制器方法应包含 redirect_to whatever_path.

http://api.rubyonrails.org/classes/ActionController/Redirecting.html

redirect_to(options = {}, response_status = {})

Examples:

redirect_to action: "show", id: 5
redirect_to post
redirect_to "http://www.rubyonrails.org"
redirect_to "/images/screenshot.jpg"
redirect_to articles_url
redirect_to :back
redirect_to proc { edit_post_url(@post) }

I want to make this button link to another page while submitting the information that was entered into the text field

是的,但您必须注意您的术语。

"submits" 不是按钮,而是表单

HTML 表单将其数据发送到 "action":

<form action="url/for/action" method="" />
</form>

此 "action" 是将处理 data/request 的 URL。

在每个服务器端 language/framework 中,都有处理来自 HTML 的入站数据的功能。为了重定向到另一个URL,您必须首先确保您正确处理数据:

#app/controllers/sessions_controller.rb
class SessionsController < ApplicationController
   def create
      # manage request here
   end
end

只有 处理完请求后,您才应该 "redirect".

即便如此,您也不是在标准意义上重定向,您是从服务器调用新请求 - 将浏览器带到新资源。

所以你可能会得到以下结果:

#app/controllers/sessions_controller.rb
class SessionsController < ApplicationController
   def create
      if [[conditions for login]]
         redirect_to [[path]]
      else
         redirect_to [[path]]
      end
   end
end

redirect实际上会为您的浏览器打开一个新的请求与相应的[[path]]。该请求将填充 session,允许您的应用程序对用户会话等进行身份验证。