2011-11-03 79 views
0

我有一個應用程序,用戶在其中選擇他們希望查看的產品。產品如何使用REST Rails傳遞參數

  1. 視圖索引,並選擇一個
  2. 的產品展示動作被調用,show.html.erb被觀看。 url =>/products/3

現在,如果用戶點擊產品的索引,他們將再次顯示所有產品。但我希望他們能夠輕鬆地返回到他們正在查看的產品。

爲產品指數的網址:/產品 我不能添加的產品ID,因爲這將不顯示的索引頁:/產品/ 3 會去看演出頁的產品ID爲3

是否有url中整齊地保留此信息,而無需做這樣醜陋的東西的好方法:

/產品的product_id = 3

+0

從描述中很難理解你想要什麼。您可以在服務器上存儲用戶交互的歷史記錄並相應地生成視圖。爲什麼你需要以任何方式更改資源的URL? – Zepplock

回答

1

如何存儲在會話中的數據?

class ProductsController 
    def index 
    @products = Product.all 
    end 

    def show 
    @product = Product.find(params[:id]) 
    session[:last_viewed_product] = @product.id 
    end 
end 

# Somewhere in your product layout 

<% if session[:last_viewed_product] %> 
    <%= link_to "View last product", product_path(session[:last_viewed_product]) %> 
<% end %> 
+0

我想盡量避免使用會話,如果可能的話由於其他原因。不過這是個好主意。 – chell