Как сделать переменную интерполяцию в селении?

Скажем, я хочу отображать случайное число каждый раз, когда я обновляю страницу. Вот мой код:

...
import System.Random
...

getHomeR :: Handler Html
getHomeR = do
  randomX <- liftIO $ randomRIO (1,999::Int)
  defaultLayout $ do
    setTitle "Welcome To Yesod!"
    $(widgetFile "homepage")
    toWidgetBody [hamlet|<div>#{randomX}|]

Это отлично работает.

Я использую сайт по умолчанию. Теперь, когда я хочу использовать #{randomX} в homepage.hamlet

<div>#{randomX}

Это дает мне ошибку

Handler/Home.hs:37:11:
Not in scope: ‘randomX’
Perhaps you meant one of these:
  ‘randomR’ (imported from System.Random),
  ‘random’ (imported from System.Random),
  ‘randoms’ (imported from System.Random)
In the splice: $(widgetFile "homepage")

Как применить переменную интерполяцию в файле деревушки?

Извините за плохой английский.

0 ответов

Другие вопросы по тегам