2010-03-02 8 views
2

Je veux analyser mes fichiers erb à la recherche de balises HTML personnalisées spécifiques (j'ai fait cette partie), puis avant le rendu, intercepter ces balises et remplacer leur sortie html. Je ne trouve aucune information relative à ce genre d'activité dans RAILS. Peut-être que je ne cherche pas au bon endroit.Remplacer les rails rendre la méthode et remplacer le contenu

Répondre

2

peut-être que vous pourriez faire qqch comme:

class PostsController < ApplicationController 
    acts_as_special 

    def show 
    @post = Post.find(params[:id]) 
    respond_to do |format| 
     format.html { my_renderer } 
    end 
    end 
end 

et écrire un plugin ou STH:

# Module to Extend a given Controller with the acts_as_special methods 

module MyRenderer 
    def self.included(base) 
    base.extend(ClassMethods) 
    end 

    module ClassMethods 

    def acts_as_special 
     include MyRenderer::InstanceMethods 
    end 
    end 

    module InstanceMethods 
    def my_renderer 
     .. do sth with the code .... 
     render :template => ... 
    end 
    end 
end 


ActionController::Base.class_eval do 
    include MyRenderer 
end 

bien vous ne avez pas besoin d'écrire un plugin, vous yust devez faire "votre" rendre méthode disponible pour le contrôleur.

Si vous avez une méthode différente/meilleure, s'il vous plaît faites le moi savoir!

Questions connexes