[web-devel] Yesod. Hamlet problems
Michael Snoyman
michael at snoyman.com
Tue Mar 15 20:48:57 CET 2011
Two things:
1) You need to change the return type of toHamlet from Html to Hamlet YourRoute
2) I think you meant <img src=@{StaticR p1_png}>
Michael
On Tue, Mar 15, 2011 at 9:28 PM, Anton Cheshkov <acheshkov at gmail.com> wrote:
> Hello Michael. Hello All.
> Please help me to explain what is wrong
> i have a function which worked before i add line <img src="StaticR
> p1_png"> :
> toHamlet :: [SearchResult] -> String - > Int -> Html
> toHamlet results queryId n = [$hamlet|
> $forall r <- results
> <div #search-result-block qid="#{queryId}" piece="#{show n}">
> <div .image-block .left>
> <img src="StaticR p1_png">
> <div .info1-block .left>
> <span>#{snd $ snd r}
> <div .info2-block .left>
> <div .clear>
> |]
> I have the compile time error:
> Couldn't match expected type
> `hamlet-0.7.1:Text.Hamlet.Quasi.R:HamletUrlHtmlM'
> against inferred type `EstateRoute'
> In the first argument of `\ u[ahZb]
> ->
> hamlet-0.7.1:Text.Hamlet.Quasi.urlToHamletMonad
> u[ahZb] []', namely
> `StaticR p1_png'
> In a stmt of a 'do' expression:
> \ u[ahZb]
> -> hamlet-0.7.1:Text.Hamlet.Quasi.urlToHamletMonad u[ahZb] []
> (StaticR p1_png)
> In the expression:
> do { (hamlet-0.7.1:Text.Hamlet.Quasi.htmlToHamletMonad
> . preEscapedString)
> "<div id=\"search-result-block\" qid=\"";
> (hamlet-0.7.1:Text.Hamlet.Quasi.htmlToHamletMonad
> . Text.Blaze.toHtml)
> queryId;
> (hamlet-0.7.1:Text.Hamlet.Quasi.htmlToHamletMonad
> . preEscapedString)
> "\" piece=\"";
> (hamlet-0.7.1:Text.Hamlet.Quasi.htmlToHamletMonad
> . Text.Blaze.toHtml)
> (show n);
> .... }
> I do not understand why (.
> Thanks.
> --
> Best regards,
> Cheshkov Anton
> Phone: +7 909 005 18 82
> Skype: cheshkov_anton
>
More information about the web-devel
mailing list