Jestem nowym użytkownikiem zarówno Haskella, jak i Yesoda, i próbuję zbudować prostą aplikację internetową, która może odpowiadać na zapytania z zewnętrznego interfejsu API. Zbudowałem parser (używając Parsec), który dostarczy mi identyfikator podmiotu, który chcę załadować jako zwykłą wartość Int.Yesod: Pobieranie jednostki bazy danych według identyfikatora z Int
Jednak ja nie mogę zrozumieć, jak przekształcić tę Int w coś, co zaakceptuje get
(tj. Wszystkie przykłady w dokumentacji otrzymują identyfikator tylko z poprzednich insertów lub z wysyłania adresu URL.
Każda pomoc będzie bardzo mile widziane, bo wydają się być zatrzymany ... :)
Dobra, zdobione to dzięki miłych ludzi na #yesod: Aby utworzyć klucz z Int 'I ', (lub Int64, w tym przypadku) i dla zaplecza bazy danych, składnia to' Key $ PersistInt64 i'. Spowoduje to utworzenie klucza, a kompilator wykryje, która jednostka ma zostać pobrana z kontekstu (tj. Informacja o typie powiązana z użyciem klucza). –
Możesz odpowiedzieć na własne pytanie, aby zostało zamknięte. – dflemstr