関連する用語がよくわからないので、検索しても何も見つかりませんでしたが、誰かが私を正しい方向に向けることができれば、もう一度調べます。
Journals というコントローラーがあります。オプションでURLの一部に日付を付けたいと思います。ユーザーが日付を指定しない場合、今日が表示されます。日付が指定されている場合は、それが使用されます。URL は次のようになります。
localhost:3000/journals/7/
localhost:3000/journals/7/2013-01-22/
1 つ目は、今日の内容を表示します。2 つ目は、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
これは問題なく動作しますが、url ヘルパーを使用して URL を生成するにはどうすればよいですか? 私はこれを試しました:
<%= link_to "< Yesterday", journal_path(id: @user, date: @date.yesterday) %>
これは実際にはうまくいくようですが、次のような URL が表示されます。
localhost:3000/journals/7?date=2013-01-22
それ以外の:
localhost:3000/journals/7/2013-01-22
/journals/:id/:date のように URL を一貫して構築するにはどうすればよいですか
より良いアプローチがあれば、私に知らせてください。