NAME

Template::Plugin::LinkTo - like link_to in Ruby on Rails

SYNOPSIS

Input:

[% USE LinkTo -%]
[% args = {
    href => '/link/to',
} -%]
[% LinkTo.link_to('link_text', args) %]

Output:

<a href="/link/to">link_text</a>

Input:

[% USE LinkTo -%]
[% args = {
    href => '/link/to',
    hoge => 'huga',
    foo  => 'bar',
} -%]
[% LinkTo.link_to('link_text', args) %]

Output:

<a href="/link/to?foo=bar&hoge=huga">link_text</a>

Input:

[% USE LinkTo -%]
[% args = {
    href   => '/link/to',
    hoge   => 'huga',
    target => '_blank',
} -%]
[% LinkTo.link_to('link_text', args) %]

Output:

<a href="/link/to?hoge=huga" target="_blank">link_text</a>

Input:

[% USE LinkTo -%]
[% args = {
    href    => '/link/to',
    hoge    => 'huga',
    target  => '_blank',
    confirm => 'really ?',
} -%]
[% LinkTo.link_to('link_<br />a&b<br />"text"', args) %]

Output:

<a href="/link/to?hoge=huga" target="_blank" onclick="return confirm('really ?');">link_&lt;br /&gt;a&amp;b&lt;br /&gt;&quot;text&quot;</a>

Input:

[% USE LinkTo -%]
[% args = {
} -%]
[% LinkTo.link_to('link_text', args) %]

Output:

link_text

Sample with DBIx::Class::ResultSet

 [% USE LinkTo -%]
 [%- WHILE (u = users.next) -%]
 [% args = {
     href => "user/${u.id}",
     hoge => 'huga',
     foo  => 'bar',
 } -%]
 [% LinkTo.link_to(u.nickname, args) %]
 [%- END %]

DESCRIPTION

Template::Plugin::LinkTo is like link_to in Ruby on Rails, but NOT same at all.

SEE ALSO

Template, Template::Plugin

AUTHOR

Tomoya Hirano, <hirafoo@cpan.org>

COPYRIGHT AND LICENSE

This library is free software; you can redistribute it and/or modify