IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby Discussion :

Définir une constante dans le init.rb


Sujet :

Ruby

  1. #1
    Membre régulier Avatar de luigifab
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 66
    Points : 73
    Points
    73
    Par défaut Définir une constante dans le init.rb
    Bonjour

    J'ai définie une constante (enfin il me semble) dans le fichier init.rb de mon extension pour Redmine.
    - avec Rails 3.2, pas de soucis.
    - avec Rails 2.3, ça ne fonctionne pas (si c'est la faute à la version de Rails).

    Voici l'erreur que j'ai :
    ActionView::TemplateError (uninitialized constant ActionView::Base::CompiledTemplates::APIJS_ROOT)
    on line #104 of vendor/plugins/redmine_apijs/app/views/settings/_apis/_apijs.html.erb


    Voici mon fichier init.rb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    require 'redmine'
    require 'files_hook'
    require 'attachment_patch'
     
    root = (ENV['RAILS_TMP'].to_s.length > 0) ? (ENV['RAILS_TMP'].to_s + '/apijs') : nil   # /var/cache/redmine/default/apijs/
    root = (!root && Rails.root.to_s.length > 0) ? (Rails.root.to_s + '/tmp/apijs') : root # /home/user/redmine-2.5.1/tmp/apijs/
    root = (!root && RAILS_ROOT.to_s.length > 0) ? (RAILS_ROOT.to_s + '/tmp/apijs') : root # /home/user/redmine-2.5.1/tmp/apijs/
    root = (!root) ? '/tmp/apijs' : root                                                   # /tmp/apijs/
    APIJS_ROOT = root.to_s
     
    Redmine::Plugin.register :redmine_apijs do...
    Quelque a t-il une idée pour m'aider ?

  2. #2
    Membre actif
    Profil pro
    Problem Solver
    Inscrit en
    Juin 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Problem Solver

    Informations forums :
    Inscription : Juin 2013
    Messages : 138
    Points : 231
    Points
    231
    Par défaut
    Tu as un aperçu de où il va chercher ta constante dans "ActionView::Base::CompiledTemplates::APIJS_ROOT"
    Pourquoi pas ajouter ta constante où il la cherche (ActionView, bof) ou lui préciser plus tard où il doit la chercher ?

    Par exemple définir APIJS_ROOT si tu as un modèle où ça semblerait pertinent, et l'appeler MonModele::APIJS_ROOT par la suite ?

  3. #3
    Membre régulier Avatar de luigifab
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 66
    Points : 73
    Points
    73
    Par défaut
    Hum... j'ai pas de modèle .
    Dans mon template j'ai remplacé APIJS_ROOT par ::APIJS_ROOT, sauf qu'il me dit que la constante n'est pas définie... mince !

    Est-ce qu'il y a un moyen de déclarer quelque chose dans le init.rb d'une extension redmine histoire qu'il soit disponible partout ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Définir des constantes dans une boucle foreach
    Par snorky94 dans le forum Langage
    Réponses: 23
    Dernier message: 31/08/2013, 12h21
  2. définir une constante dans un namespace
    Par salseropom dans le forum C++
    Réponses: 3
    Dernier message: 14/04/2010, 11h31
  3. Réponses: 2
    Dernier message: 27/01/2008, 20h13
  4. Utiliser une constante dans une requête
    Par Nabouille dans le forum Access
    Réponses: 4
    Dernier message: 19/04/2006, 14h09
  5. ajout d'une constante dans un select
    Par Shabata dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2004, 19h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo