2015-08-31 3 views
1

Я использую инструмент daod (yesod 1.4.1.5), используя инструмент стека. Я не могу найти новый маршрут для работы.Yesod not route to handler

# config/routes 
/static StaticR Static appStatic 
/auth AuthR Auth getAuth 

/favicon.ico FaviconR GET 
/robots.txt RobotsR GET 

/trails TrailsR GET 

/HomeR   GET POST 

Тогда я определил следующий модуль:

-- Handler/Trails.hs 
module Handler.Trails where 

import Import 
--import Yesod.Form.Bootstrap3 (BootstrapFormLayout (..), renderBootstrap3, 
--        withSmallInput) 

getTrailsR :: Handler Html 
getTrailsR = defaultLayout $ do 
    setTitle "Welcome To Yesod!" 
    $(widgetFile "trails") 

Я сделал файл шаблона Трассы:

-- templates/trails.hamlet 
<h1>All Trails A-Z 

<ul> 
    <li>Hi 

Я не создавал .julius.lucius или файлы. Это имеет значение?

И я сделал так, чтобы поместить модуль в Application.hs:

-- Import all relevant handler modules here. 
-- Don't forget to add new modules to your cabal file! 
import Handler.Common 
import Handler.Home 
import Handler.Trails 

И я сделал так, чтобы зарегистрировать этот модуль в onh.cabal для проекта, здесь полная библиотека строфа:

library 
    hs-source-dirs: ., app 
    exposed-modules: Application 
        Foundation 
        Import 
        Import.NoFoundation 
        Model 
        Settings 
        Settings.StaticFiles 
        Handler.Common 
        Handler.Home 
        Handler.Trails 

Затем я загружаю приложение как таковое: stack exec -- yesod devel, но оно все еще не возвращается в виде 404:

$ curl -v localhost:3000/trails 
* Hostname was NOT found in DNS cache 
* Trying ::1... 
* connect to ::1 port 3000 failed: Connection refused 
* Trying 127.0.0.1... 
* Connected to localhost (127.0.0.1) port 3000 (#0) 
> GET /trails HTTP/1.1 
> User-Agent: curl/7.37.1 
> Host: localhost:3000 
> Accept: */* 
> 
< HTTP/1.1 404 Not Found 
< Transfer-Encoding: chunked 
< Date: Mon, 31 Aug 2015 05:00:17 GMT 
* Server Warp/3.1.2 is not blacklisted 
< Server: Warp/3.1.2 

Что я делаю неправильно? Как я могу отлаживать, что маршруты правильно подключены и подключены к системе сборки?

ответ

1

На вас может повлиять ошибка described on the mailing list. При обновлении до yesod-bin-1.4.14 следует исправить эту проблему. Можете ли вы попробовать это и посмотреть, работает ли это?