<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi, </div><div><br></div><div>I’m trying to build a small app to comment on images. Probably I’m almost there but currently stuck with updating a ‘file.yml' by a html-form. </div><div><br></div><div>I’ve made two routes (shown below) “get ‘/:id/edit’ for showing the form with the particular image to comment on. When hitting save the ‘post ‘/edit’ will be called. My problem is that the post route doesn’t have the $id initialised. Is there someone around who can tell me how to solve this or point to me what I’m doing wrong?</div><div><br></div><div>Thanks,</div><div>Gert</div><div><br></div><div>The structure is an AoH. </div><div>The file.yml is like</div><div><br></div><div><div><font face="Menlo">---</font></div><div><font face="Menlo">- collection: ''</font></div><div><font face="Menlo">  description: good</font></div><div><font face="Menlo">  id: 0</font></div><div><font face="Menlo">  imgf: photo.jpg</font></div><div><font face="Menlo">  tags: ''</font></div><div><font face="Menlo">- collection: ''</font></div><div><font face="Menlo">  description: ''</font></div></div><div><font face="Menlo">  etc..</font></div><div><br></div><div>————end of yaml</div><div><br></div><div><br></div><div><font face="Menlo">#---------------------------------------------------------------------</font></div><div><font face="Menlo">#</font></div><div><font face="Menlo"># get EDIT</font></div><div><font face="Menlo">#</font></div><div><font face="Menlo">#---------------------------------------------------------------------</font></div><div><font face="Menlo">get '/:id/edit' => sub {</font></div><div><font face="Menlo">    my $filename =</font></div><div><font face="Menlo">      Dancer::FileUtils::read_file_content(</font></div><div><font face="Menlo">        Dancer::FileUtils::path( setting('appdir'), 'myImages.yml' ) );</font></div><div><font face="Menlo">    my $data = from_yaml $filename;</font></div><div><font face="Menlo">    my @data = @{$data};</font></div><div><font face="Menlo"><br></font></div><div><font face="Menlo">    #print Dumper \@data;</font></div><div><font face="Menlo">    my $id = param('id');</font></div><div><font face="Menlo">    template 'edit', { data => $data[$id], id => $id, };</font></div><div><font face="Menlo">};</font></div><div><font face="Menlo"><br></font></div><div><font face="Menlo">#---------------------------------------------------------------------</font></div><div><font face="Menlo">#</font></div><div><font face="Menlo"># post EDIT</font></div><div><font face="Menlo">#</font></div><div><font face="Menlo">#---------------------------------------------------------------------</font></div><div><font face="Menlo"><br></font></div><div><font face="Menlo">post '/edit' => sub {</font></div><div><font face="Menlo">    my $data = get_AoH_imagelist();</font></div><div><font face="Menlo">    my @data = @{$data};</font></div><div><font face="Menlo">    my $id   = param('id');</font></div><div><font face="Menlo">    $data[$id] { description}=  params->{description} ;</font></div><div><font face="Menlo">    #$data[2] { description}=  params->{description} ; </font></div><div><span style="font-family: Menlo;">    # this works but then all descriptions end up in the third group of hashes.</span></div><div><font face="Menlo">    my $filename = "myImages.yml";</font></div><div><font face="Menlo">    write_file $filename, to_yaml($data);</font></div><div><font face="Menlo">    redirect '/';</font></div><div><font face="Menlo">};</font></div><div><br></div></body></html>