Rails link_to生成带子目录的URL

时间:2012-01-18 02:58:09

标签: ruby-on-rails ruby-on-rails-3 actionview

在我的路线文件中,我有一行:

match 'documents/:category/:id' => 'documents#show'

允许我使用以下网址:

*本地主机:3000 /文档/ lesson_plans / day_01 *

网址正常,但我无法弄清楚如何使用link_to生成它。


link_to 'day_01', document_path('/lesson_plans/day_01')

返回错误:

  

没有路线匹配{:action =>“show”,:controller =>“documents”,   :ID => “中/ lesson_plans / day_01”}


link_to 'day_01', document_path(:category => 'lesson_plans', :id => 'day_01')

有效,但会生成网址:

  

本地主机:3000 /文档/ day_01类别= lesson_plans

不够干净。


有没有办法生成网址:

  

本地主机:3000 /文档/ lesson_plans / day_01

2 个答案:

答案 0 :(得分:1)

<%= link_to "day_01", {:controller => :documents, :action => :show, :category => "lesson_plans", :id => "day_01"} %>

答案 1 :(得分:1)

尝试一下:

match 'documents/:category/:id' => 'documents#show', :as => :document

= link_to 'day_01', document_path('day_01', :category => 'lesson_plans')

它应该生成:

http://localhost:3000/documents/lesson_plans/day_01