2008-12-10 11 views
2

La vue de liste ActiveScaffold comporte un formulaire de recherche chargé via ajax lorsqu'un utilisateur clique sur le lien de recherche. Je préférerais que le formulaire s'affiche par défaut lorsqu'un utilisateur ouvre une page de liste.Comment puis-je demander à ActiveScaffold de toujours afficher le formulaire de recherche dans une vue de liste?

J'ai trouvé un moyen de déclencher l'appel ajax lorsque la page se charge, mais je me demande s'il existe un moyen d'obtenir ActiveScaffold pour rendre le formulaire automatiquement. Existe-t-il un modèle ou une méthode que je peux remplacer? J'ai regardé le code mais il n'y a rien d'évident, du moins pour moi.

Mise à jour: La réponse de

srboisvert m'a inspiré d'avoir un meilleur look.

L'astuce consiste à utiliser les remplacements de Template pour refactoriser les éléments suivants: list.rhtml, _list_header.rhtml, _search.rhtml afin que le formulaire de recherche rende partiellement le résultat.

Répondre

2

Il y a une façon de l'obtenir rendu automatiquement:

active_scaffold: modèle do | config | config.list.always_show_search = true fin

+1

Est-ce une nouvelle option? –

0

Je n'ai actuellement pas de projet d'échafaudage actif à portée de main, mais voici comment je le comprendrais.

J'utiliserais firefox avec firebug installé et jetez un oeil à ce qui est appelé quand le lien est cliqué. Ensuite, j'irais voir ce javascript et ce qu'il génère. Ensuite, je rechercherais la source pour toute partie du code ou de la combinaison qui serait assez unique à la boîte de recherche ajax. Après cela, il devrait être facile de couper et de le dépasser sans l'ajaxyness.

+0

acclame. ce n'est pas techniquement la réponse "correcte" mais cela m'a conduit sur le bon chemin. –

0

L'option

config.list.always_show_search = true

fonctionne très bien, mais seulement sur le contrôleur de béton. Il déclenche une exception lorsqu'il est utilisé dans le bloc AS set_default. Quelqu'un sait mieux alors la solution pour l'inclure dans chaque contrôleur (en dehors de surcharger le modèle qui est pratique mais complique les mises à jour de version)