Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 构建URL的更好方法_Ruby On Rails_Ruby_Rails Routing - Fatal编程技术网

Ruby on rails 构建URL的更好方法

Ruby on rails 构建URL的更好方法,ruby-on-rails,ruby,rails-routing,Ruby On Rails,Ruby,Rails Routing,我有一个如下配置的路由: get "calendar/:year/:month" => "calendar#month", as: :calendar_month 要创建“下一个”月和“上一个”月的链接,您需要在模板中使用以下内容: <%= link_to "Next", calendar_month_path(year: @date.next_month.year, month: @date.next_month.month) %> 这将是一个理想的解决方案,但它不起作用

我有一个如下配置的路由:

get "calendar/:year/:month" => "calendar#month", as: :calendar_month
要创建“下一个”月和“上一个”月的链接,您需要在模板中使用以下内容:

<%= link_to "Next", calendar_month_path(year: @date.next_month.year, month: @date.next_month.month) %>
这将是一个理想的解决方案,但它不起作用

你如何处理类似的情况


谢谢你的建议

您始终可以在助手中添加一种方法,将日期转换为
日历\月份\路径

def path_for_date(d)
  calendar_month_path(d.year, d.month)
end
这意味着您的链接是:

link_to("Previous", path_for_date(@date.prev_month)
link_to("Next", path_for_date(@date.next_month)
根据你的其他路线,你可能想给它起个比我好一点的名字,但你明白了

def path_for_date(d)
  calendar_month_path(d.year, d.month)
end
link_to("Previous", path_for_date(@date.prev_month)
link_to("Next", path_for_date(@date.next_month)