从更高层次我想要做的是通过包含对象ID的javascript发布帖子。
我正在通过' PlayerId'到一个小部件,它将创建将发布的jquery。
tableClickHandlerWidget :: String -> TableId -> PlayerId -> Maybe Int -> Widget
tableClickHandlerWidget elemId tid playerId seatId = do
let seatNumber = if seatId == Nothing
then "null"
else show $ fromJust seatId
let pid = fromPersistToJS $ unKey playerId
toWidget[julius|
$(function() {
$('#{show elemId}').click.post(
'@{GamingSessionsR}',
{ player: '#{pid}', table: '#{show tid}', seat:'#{seatNumber}' },
);
});
|]
toWidget[hamlet|something<br/>|]
fromPersistToJS :: PersistValue -> String
fromPersistToJS p = do
let (a) = fromPersistValue p
case a of
Left l -> T.unpack l
Right r -> r
我从thePersistToJS获得的内容始终是一个例外,即对象id不能成为字符串。
但是URL本质上是字符串并且在其中包含ID;所以我相信这一定是可行的。
https://github.com/gdoteof/exodus/是整个回购,我正在
发表这篇文章https://github.com/gdoteof/exodus/commit/4daa0a25a9f44c69cbdc5c0bb4e8aa4f6433de45
答案 0 :(得分:4)
let playerIdAsText = toPathPiece playerId