ブログ投稿の URL に日付部分を追加しようとしています。
/blog/2016/11/23/my-blog-post-slug
ナメクジだけでなく日付部分もチェックしたい。これは私がこれまでに得たものです:
getBlogPostR :: Int -> Int -> Int -> Slug -> Handler Html
getBlogPostR pathYear pathMonth pathDay pathSlug = do
Entity _ BlogPost {..} <- runDB $ getBy404 $ UniqueBlogPostSlug pathSlug
let (year, month, day) = toGregorian $ utctDay blogPostCreatedAt
if (fromIntegral year /= pathYear && month /= pathMonth && day /= pathDay)
then notFound
else
defaultLayout $ do
setTitleI blogPostTitle
$(widgetFile "blog/post")
ちょっとダサいようです。今年、月、日の部分をクエリ フィルタリング パラメータとして追加する方法はありますか? (生のクエリを実行できることは知っていますが、これは私が探しているものではありません)
[追加情報]
私のモデルは次のように定義されています。
BlogPost
uuid Text
title Text
slug Text
markdownContent Text
createdAt UTCTime
UniqueBlogPostUuid uuid
UniqueBlogPostSlug slug
Primary uuid