我正在使用嵌入式ruby。 所以我的代码:提交按钮链接到另一页
<%= f.submit "Log in", class: "btn btn-primary" %>
我想使这个按钮链接到另一个页面,同时提交已输入到文本字段中的信息。这可能吗?
如果您需要任何其他信息,请让我知道。谢谢
我正在使用嵌入式ruby。 所以我的代码:提交按钮链接到另一页
<%= f.submit "Log in", class: "btn btn-primary" %>
我想使这个按钮链接到另一个页面,同时提交已输入到文本字段中的信息。这可能吗?
如果您需要任何其他信息,请让我知道。谢谢
表单提交给的控制器方法应该包含redirect_to whatever_path。
见http://api.rubyonrails.org/classes/ActionController/Redirecting.html
redirect_to的(选项= {},response_status = {})
例子:
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) }
,解决了这个问题 –
我想使这个按钮链接到另一个页面,同时提交输入到文本字段的信息
是的,但你必须小心你的术语。
这不是按钮“提交”,它是表格。
HTML
形式它们的数据发送到一个“行动”:
<form action="url/for/action" method="" />
</form>
这种“动作”是将处理中的数据/请求的URL。
在每个服务器端语言/框架中,都有处理来自HTML的入站数据的功能。为了重定向到另一个URL,你必须首先确保你处理数据正确:
#app/controllers/sessions_controller.rb
class SessionsController < ApplicationController
def create
# manage request here
end
end
只有后的请求已被处理,你应该“重定向”。
即使那样,你不是在标准意义上重定向,你从服务器调用一个新的请求 - 浏览器到新资源。
所以,你可能最终得到如下:
#app/controllers/sessions_controller.rb
class SessionsController < ApplicationController
def create
if [[conditions for login]]
redirect_to [[path]]
else
redirect_to [[path]]
end
end
end
的重定向竟然会被你的浏览器中打开与各[[path]]
一个新的请求。该请求将填充session
,允许您的应用程序验证用户会话等。
您将提交信息,然后重定向服务器端。感谢 – Popnoodles