[英]Rails Routes With Query Parameters
不確定涉及的術語,我沒有找到任何搜索,但如果有人能指出我正確的方向,我會再看看。
我有一個名為Journals的控制器。 我希望有一個日期可選的URL部分。 如果用戶沒有指定日期,他們今天就會得到。 如果指定了日期,則使用它。 網址如下:
localhost:3000/journals/7/
localhost:3000/journals/7/2013-01-22/
第一個將顯示今天的內容。 第二個將顯示1月22日的內容。
我從這條路線開始:
match '/journals/:id(/:date)', to: 'journals#show'
和相應的控制器
class JournalsController < ApplicationController
def show
@user = User.find(params[:id])
if params[:date]
@date = Date.parse(params[:date])
else
@date = Date.today
end
end
end
這工作正常,但我如何使用網址助手生成網址? 我試過這個:
<%= link_to "< Yesterday", journal_path(id: @user, date: @date.yesterday) %>
這似乎工作得很好,但它給了我一個像這樣的網址:
localhost:3000/journals/7?date=2013-01-22
代替:
localhost:3000/journals/7/2013-01-22
如何保持URL一致,如/ journals /:id /:date
如果有更好的方法,請告訴我。
在路線中試試這個:
resources :journals
match '/journals/:id(/:date)' => 'journals#show', :constraints => { :date => /\d{4}-\d{2}-\d{2}/ }, :as => "journals_date"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.