Ruby on rails 具有每天指向不同模型对象的url的Rails路由

Ruby on rails 具有每天指向不同模型对象的url的Rails路由,ruby-on-rails,rails-routing,Ruby On Rails,Rails Routing,所以我试着做一些事情,如果我去/daily\u products,它会 显示一个新的产品页面,用户可以在其中每天提交新的评论 目前我有一个映射product/:id/review/new到review#new。我想知道我是否可以像/daily\u products这样的东西映射到产品/:id/review/new/,并且:id每天都不同。有人知道如何在Rails路线中做到这一点吗?我建议另一种方法: 在您的路由文件中: get 'daily_products', to: 'products#da

所以我试着做一些事情,如果我去
/daily\u products
,它会 显示一个新的产品页面,用户可以在其中每天提交新的评论


目前我有一个映射
product/:id/review/new
review#new
。我想知道我是否可以像
/daily\u products
这样的东西映射到
产品/:id/review/new/
,并且
:id
每天都不同。有人知道如何在Rails路线中做到这一点吗?

我建议另一种方法:

在您的路由文件中:

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
请注意,这将为每个用户提供一个随机产品。对于所有用户的日常产品,没有任何类型的缓存。不过,你可以很容易地做到这一点。这个想法是在模型中隔离每日的概念,而不是在路线中