Tengo un problema extraño con la aldea. Estoy tratando de usar $ forall para iterar a través de una lista, pero sigo obteniendo un error "No en el alcance". Estoy ejecutando yesod 0.9.2.2 en Win7.
Aparte de un diseño terrible, ¿alguien tiene alguna idea de dónde me estoy equivocando? Eliminar la interpolación variable de "db" permite ejecutar bien.
La aldea relevante:
!!!
<h1> Database List
<hr>
<table>
<tr>
<td> Host
<td> Status
$forall db <- dbList
<tr>
<td> #{host db}
El código del controlador relevante:
data Database = Database {dbType :: DBType,
host :: String,
user :: String,
password :: String
}
dbList = [Database Oracle "cpalmerws" "system" "***",
Database Oracle "bdblnx" "system" "***",
Database Postgres "localhost" "postgres" "***"]
getDBStatusR :: Handler RepHtml
getDBStatusR = do
mu <- maybeAuth
defaultLayout $ do
setTitle "DB Status Page"
addWidget $(widgetFile "dbstatus")
estoy recibiendo este error cuando se ejecuta yesod devel:
Handler\DBStatus.hs:47:17:
Not in scope: `db'
In the result of the splice:
$(widgetFile "dbstatus")
To see what the splice expanded to, use -ddump-splices
In the first argument of `addWidget', namely
`$(widgetFile "dbstatus")'
In the expression: addWidget ($(widgetFile "dbstatus"))
Starting development server...
dist\devel.hs:3:1:
Failed to load interface for `Application':
it is not a module in the current program, or in any known package.
Exit code: ExitFailure 1
Eres amable señor, muy amable. – Caleb