у меня есть маршрут
/notes/#NoteId NoteR GET
С другой страницы я хочу сделать ссылку на нее. При использовании «классического» гамлета это легко:
<a href=@{NoteR $ entityKey note}>notetitle
Я хочу, чтобы моя страница была более динамичной и получала JSON-данные, содержащие информацию о заметке и идентификатор заметки. Как создать правильные и typesafe-ссылки?
У меня уже есть этот код в файле .julius
, но он не компилируется, потому что ожидает "NoteId". Я должен вставить obj.id
где-нибудь в интерполяции URL @{..}... Есть подсказки, как это сделать?
function loadnotes() {
var list = $("#results");
jQuery.getJSON("@{NotesR}",
function(o){
$.each(o, function (i, obj) {
$('<a href=@{NoteR}/>' + obj.title + '</a>').appendTo(list);
})});
}
window.onload = loadnotes;
РЕДАКТИРОВАТЬ:
У меня это в Model.hs
:
instance ToJSON (Entity Note) where
toJSON (Entity nid (Note title content created_at updated_at userId)) = object
[ "id" .= nid
, "title" .= title
, "content" .= (unTextarea content)
, "created_at" .= created_at
, "updated_at" .= updated_at
, "userId" .= userId ]
note
в примере с деревушкой является типизированным значением haskell. Ноobj
в коде julius — это нетипизированный объект javascript. Имеет ли смысл что-то без известного типа быть частью безопасного URL-адреса? - person Tarrasch   schedule 02.01.2013