[英]Can HTTP redirects be accomplished without an extra request/response?
我正在編寫一個Rails應用程序,其中有兩個方法,即“列表”和“查詢”。 這是一個簡化的版本:
class ApplicationController < ActionController::Base
def query
# query based on user-form text in params[:q]
@list = Product.where(Product.arel_table[:description].matches("%#{params[:q]}%"))
if @list.count == 1
redirect_to :action => 'list', :id => @list[0].id
end
end
def list
@item= Product.find(params[:id])
end
end
到目前為止,最常見的用戶模式是輸入產生單個產品的搜索。 發生這種情況時,我希望該URL重定向到restful
http://myurl/list/:id
而不是
http://myurl/query?q=search-query.
但是在上面的代碼中,我兩次訪問數據庫以獲取相同的記錄,並為每個查詢創建2個http請求/響應。 不是世界末日,但我想知道是否有更好的方法。 (運行查詢時,我已經有了模型對象)
有沒有一種干凈的方法可以從查詢操作中呈現列表操作的視圖,並在沒有額外請求/響應的情況下告訴瀏覽器新的URL?
不在http協議的約束之內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.