通过非数据库模型进行路由

时间:2011-01-21 13:55:35

标签: ruby-on-rails

我们有一个结构,我们想要查看和编辑记录,按天过滤。但我们希望这一天成为网址的一部分

 /time_records/day

此视图显示特定日期的time_records。但是当我们添加time_record时,它需要重定向回同一页面。

但是,它调用time_records而没有“日期”部分才能调用create。为了重定向回到同一页面,我想我必须将模型对象传递给redirect_to,但该模型必须是当天的。

是将Day对象添加到模型的唯一解决方案吗?这看起来有点浪费,因为DateTime在逻辑上已经足够了,这只是关于路由。

1 个答案:

答案 0 :(得分:0)

使用:

match '/time_records(/:day)' => 'time_records#show', as: 'time_records'
routes.rb

你可以使用url helper方法:

time_records_path(day: Date.today)

生成"/time_records/2011-01-21"。这部分是因为在Rails中,Date对象响应to_param方法。

这一切都假设您正在使用ruby 1.9.x和rails 3.0.x