我正在使用嵌入式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