2010-03-17 3 views
0

J'ai donc ce code dans mon lib/dossier:Rails: L'utilisation de formulaire dans lib

class GlobalConfig::SetHelper 
    def self.yes_no_input(configuration) 
    value = configuration.value 
    name = configuration.name 
    "#{radio_button_tag name, true, (value == true), {:id => "#{name}_yes"}} #{label_tag "#{name}_yes", 'yes'} 
    #{radio_button_tag name, false, (value.blank? or value == false), {:id => "#{name}_no"}} #{label_tag "#{name}_no", 'no'}" 
    end 
end 

Mais il est revenu: méthode non définie de radio_button_tag » pour GlobalConfig :: SetHelper: Classe quand je lance la code.

Comment résoudre ce problème. N'importe qui?

Merci

Répondre

0

Vous devez inclure dans votre aide Helper avec cette méthode:


class GlobalConfig::SetHelper 
    include ActionView::Helpers::FormTagHelper 
end 
+0

Je pense que je l'ai déjà essayé, mais je vais essayer à nouveau, peut-être que je l'ai mal écrit. Je vous le ferai savoir! – jaycode

+0

Le code devient trop grand Je n'ai pas eu le temps de vérifier cela, si quelqu'un pouvait vérifier serait apprécié. – jaycode

+0

travaillé, merci! – jaycode

3
  1. Pourquoi vous mettez cela en lib? app/helpers est l'endroit standard pour mettre des méthodes d'aide comme ceci.
  2. Avoir des méthodes auxiliaires en tant que méthodes de classe de la classe auxiliaire n'est pas le chemin à parcourir. Vous devriez plutôt en faire une méthode d'instance. Ensuite, placez ce code dans votre contrôleur:

    helper GlobalConfig::SetHelper

    et vous aurez accès à ses méthodes à l'intérieur de votre point de vue. Et les méthodes d'aide standard comme radio_button_tag fonctionneront également à la fois.

+0

Je sais que ce serait un morceau de gâteau pour le faire comme cela, et c'est ce que je suis en train de faire maintenant jusqu'à ce que je trouve une solution. Fondamentalement, mon site aura différents paramètres de configuration que j'ai définis dans la base de données (donc l'administrateur du site non-programmeur peut facilement les changer). Certaines configurations ne sont pas simples, par exemple les pays auront besoin d'un sélecteur de pays, mais pour la plupart des autres choses peuvent faire avec des entrées de texte. Pour permettre facilement aux autres programmeurs (ou moi-même) d'ajouter de nouveaux styles de saisie, j'encapsule les fonctions dans le répertoire lib config/set_helpers et config/get_helpers. Est-ce possible? – jaycode

Questions connexes