2013-11-25 33 views
3

我看着a previous question這聽起來像是同一個問題,但它似乎跳過了我必須丟失的部分。如何鏈接到哈姆雷特的靜態文件?

我在處理程序文件的頂部添加了import Settings.StaticFiles行。

我將一個名爲chunk.png的文件複製到yesod項目的static文件夾中。

但是,不管我怎麼努力,我總是得到:

Not in scope: 'chunk_png'

我已經試過whamlet之前加入staticSite "static"$(staticSite "static"),但無濟於事。

下面是完整的代碼:

module Handler.Foo where 

import Import 
import Data.List 
import Settings.StaticFiles 

getFooR :: Int -> Int -> Handler Html 
getFooR param1 param2 = do 
    staticSite "static" 
    defaultLayout [whamlet| 
     <img [email protected]{StaticR chunk_png}> 
    |] 

我也試過staticFiles "static"(而不是staticSite),但給我的錯誤:

Not in scope: 'staticFiles' Perhaps you meant 'staticSite' (imported from Settings.StaticFiles)

/static StaticR Static getStatic一個條目config/routes

任何想法?

回答

4

對我來說,解決辦法是在文件的頂部添加

import Yesod.Static 

,並

staticFiles "static" 

前處理程序函數的聲明,而不是在它的內部。