Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ruby > Ruby on Rails
Ruby on Rails Le forum sur le framework Ruby on Rails. Voir aussi la FAQ RoR et les cours RoR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 06/09/2010, 10h00   #1
Membre actif
 
Avatar de rivsc
 
Sylvain Claudel
Inscription : décembre 2008
Messages : 182
Détails du profil
Informations personnelles :
Nom : Sylvain Claudel
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : décembre 2008
Messages : 182
Points : 186
Points : 186
Par défaut theme_support et Rails 3

Bonjour,

J'utilise un plugins qui permet de surcharger les vues du répertoire app/views, il faut précisé dans application controller le thème à utiliser.
Le plugin est theme_support.

Je suis en train de migrer une application rails 2.3.8 en rails 3. Et ce plugin n'est pas compatible avec rails 3. D'ailleur la partie la plus pénible dans la migration se sont les gems et plugins non à jour et non maintenu.

Utilisez-vous un plugin relativement similaire ? Ou avez-vous une solution ou une idée ?

http://github.com/jystewart/theme_support

Code :
1
2
3
4
5
6
7
8
 
railsapp
 |--themes
     |--montheme
        |--images
        |--javascripts
        |--stylecheets
        |--views
rivsc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2010, 07h01   #2
LXS
Membre habitué
 
Homme Franck Verrot
Inscription : mai 2004
Messages : 105
Détails du profil
Informations personnelles :
Nom : Homme Franck Verrot
Localisation : France

Informations forums :
Inscription : mai 2004
Messages : 105
Points : 133
Points : 133
Sur la dernière application que nous avons réalisé nous avons joué avec le view_path au niveau de l'ApplicationController.

Quand l'application est déployée, nous chargeons memcache avec les associations domaine <=> view_path (ce qui permet de ne pas taper dans la base), puis à chaque requête, nous avons un before_filter qui fait un simple
Code :
preprend_view_path "le/nouveau/path"
.
LXS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2010, 18h56   #3
Membre actif
 
Avatar de rivsc
 
Sylvain Claudel
Inscription : décembre 2008
Messages : 182
Détails du profil
Informations personnelles :
Nom : Sylvain Claudel
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : décembre 2008
Messages : 182
Points : 186
Points : 186
Merci pour ta réponse !

Je pensais être le seul à utiliser cela !

Donc le code ci-dessous permettrait tout seul de charger les vues dans "le/nouveau/path" puis si elles n'existent pas les charger à partir de "app/views" ?
Code :
1
2
3
4
5
6
7
8
 
Class MonController < ApplicationController
  preprend_view_path "le/nouveau/path"
 
  def monaction
 
  end
end
rivsc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2010, 22h06   #4
LXS
Membre habitué
 
Homme Franck Verrot
Inscription : mai 2004
Messages : 105
Détails du profil
Informations personnelles :
Nom : Homme Franck Verrot
Localisation : France

Informations forums :
Inscription : mai 2004
Messages : 105
Points : 133
Points : 133
plûtot
Code :
1
2
3
4
5
6
7
8
9
10
class MonController < ApplicationController
  before_filter :set_paths
  def monaction
  end
 
  private
  def set_paths
    preprend_view_path "le/nouveau/path"
  end
end
Du coup nous l'avons placé directement dans l'ApplicationController vu nos besoins. Mais après tout dépendra des tiens

En ce qui concerne les assets normalement placés dans Rails.root/pubic, nous n'avons pas trouvé d'autres solutions que de faire des sous-dossiers pour le moment. Dans l'absolu, il faudra que l'on joue sur les asset_path ou middleware Rack::Static pour faire quelque chose de clean...
LXS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2010, 08h42   #5
Membre actif
 
Avatar de rivsc
 
Sylvain Claudel
Inscription : décembre 2008
Messages : 182
Détails du profil
Informations personnelles :
Nom : Sylvain Claudel
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : décembre 2008
Messages : 182
Points : 186
Points : 186
Merci c'est juste impeccable ! Pour les assets, c'est la prochaine étape !

Par contre c'est "prepend_view_path" sans le 2ème "R"
rivsc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2010, 11h19   #6
LXS
Membre habitué
 
Homme Franck Verrot
Inscription : mai 2004
Messages : 105
Détails du profil
Informations personnelles :
Nom : Homme Franck Verrot
Localisation : France

Informations forums :
Inscription : mai 2004
Messages : 105
Points : 133
Points : 133
Oui, je pense qu'il est grand temps que je change de lunettes
LXS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2010, 09h57   #7
Membre actif
 
Avatar de rivsc
 
Sylvain Claudel
Inscription : décembre 2008
Messages : 182
Détails du profil
Informations personnelles :
Nom : Sylvain Claudel
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : décembre 2008
Messages : 182
Points : 186
Points : 186
Bonjour,

J'ai réécrit le plugin themesupport pour rails3.
Le gem ne fonctionne pas avec actionmailer de rails3.

Il faut ajouter

Dans le gemfile

Code :
gem 'theme_support', '3.0.7'
Dans le fichier route.rb :

Ce qui évite de faire :

Code :
rake themes:cache:update
Dans le controller

soit

soit

Code :
1
2
3
4
5
6
 
theme :loadtheme
 
def loadtheme
  'montheme'
end
Sinon le fonctionnement reste le même.
http://github.com/zedalaye/theme_support/
rivsc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 18h07.


 
 
 
 
Partenaires

Hébergement Web