2007 年 2 月 4 日星期日

Rails 2.0 新功能:多个控制器视图路径

发布者 rick

感谢 John Long,Rails 现在支持 每个控制器拥有多个视图路径。对于 90% 的应用程序,这可能不会造成太大影响。但是,对于那些想要将各种开放源码应用程序产品化的人来说,现在可以这样做:

/beast/trunk$ mkdir vendor/plugins/test_view_paths
/beast/trunk$ cd vendor/plugins/test_view_paths
/beast/trunk/vendor/plugins/test_view_paths$ mkdir views
/beast/trunk/vendor/plugins/test_view_paths$ echo “ActionController::Base.view_paths.unshift File.join(directory, ‘views’)” > init.rb

你所做的是创建了一个极简的 Rails 插件,它会将插件中的“views”目录插入到 #view_paths 数组的开头。现在,从 Rails 应用程序复制一个视图到插件的“views”目录,做出一个明显的改动,然后启动你的应用程序。你会注意到,它采用了插件的视图,而不是应用程序的视图。