2014-09-22 18 views
0

所以我試圖做一些事情,如果我去/daily_products那麼它會 顯示一個新的產品頁面,用戶可以在每天提交新的評論。Rails路由,其URL指向一個不同的模型對象,每天

目前我有一個映射product/:id/review/newreview#new。我想知道是否我可以像/daily_products映射到product/:id/review/new/:id是不同的每一天。有誰知道如何在Rails路線中做到這一點?

回答

2

我建議另一種方法:

在你路線文件:

get 'daily_products', to: 'products#daily' 

而在你產品控制器,你可以每天都在行動:

def daily 
    @daily_product = Product.daily 
    render '/review/new/' # I am not sure where you have the actual review template... 
end 

然後在你的產品型號 ,你可以根據自己的口味定義日常範圍。例如,每天選擇一個隨機產品:

def self.daily 
    if (c = count) != 0 
    find(:first, :offset =>rand(c)) 
    end 
end 

請注意,這將爲每個用戶提供一個隨機產品。在所有用戶中沒有任何類型的日常產品緩存。你可以很容易地做到這一點。這個想法是隔離模型中的日常概念,而不是在路線中。

相關問題