function smarty_function_action_attributes($params, &$view)
{
    $availableMethods = array('get', 'post', 'put', 'delete');
    $methodsParams = array_intersect($availableMethods, array_keys($params));
    $method = reset($methodsParams);
    if (empty($method)) {
        return;
    }
    $assign = '';
    if (isset($params['assign'])) {
        $assign = $params['assign'];
        unset($params['assign']);
    }
    $pattern = $params[$method];
    unset($params[$method]);
    $resource = Route::resource($pattern, $params);
    $prefix = App::getLinkPrefix($params);
    $result = ' data-method="' . $method . '"';
    $result .= ' data-resource="' . $prefix . ltrim($resource, '/') . '"';
    list($preg, $map) = Url::preg($pattern);
    $result .= ' data-params="' . http_build_query(array_diff_key($params, array_flip($map))) . '"';
    $result .= ' ';
    if ($assign) {
        $view->assign($assign, $result);
        $link = '';
    }
    return $result;
}