默认情况下,当我问轨控制器做消息/指数,他确实轨道 - 如何覆盖默认视图
def index
respond_to{|fmt| fmt.html}
end
和显示应用/视图/消息/ index.html.erb
有一个客户希望他的平台实例以不同方式显示意见(并且只能使用css进行更改)。
解决方案,我认为将是
创建目录应用程序/视图/#{客户名称},这将具有相同结构的应用程序/意见,但只会有哪些必须覆盖默认的视图。
在客户特定的配置文件
设置含有的其必须被重写(如果不是,就应该加载默认视图)视图列表数组常量
CUSTOM_VIEWS["messages"]=["index","show","edit"]
某处所有的控制器动作做类似
def index respond_to do |fmt| fmt.html do if CUSTOM_VIEWS[params[:controller]].include?(params[:action]) #override default app/views/messages/index.html.erb with app/views/customername/messages/index.html.erb render "#{customername}/#{params[:controller]}/#{params[:action]}" end end end end
还是有更好/更快的解决方案/插件来做到这一点?
这不幸的是跨请求坚持默认视图。 – aceofspades 2011-11-08 23:30:48