我想扫描我的erb文件,寻找特定的自定义HTML标签(我已完成此部分)然后在渲染之前拦截这些标签并替换它们的html输出。我在RAILS中找不到与此类活动有关的任何信息。也许我不是在寻找合适的地方。
答案 0 :(得分:2)
也许你可以这样做:
class PostsController < ApplicationController
acts_as_special
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html { my_renderer }
end
end
end
并写一个插件或者......:
# 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
你不需要编写插件,你必须为控制器提供“你的”渲染方法。
如果你有不同/更好的方法,请告诉我!