更改Rails中的默认视图路径?

时间:2011-05-30 15:52:25

标签: ruby-on-rails ruby ruby-on-rails-3 view themes

我希望能够动态更改视图文件夹。目的是能够根据要求完全改变网页设计。我在考虑这样的事情:

 Class PagesController

     default_views_path(current_theme_path)

     def show
         Blablah...
     end

 end

假设这样的目录架构:

 -apps
 --views
 ---theme 1/show.html.erb
 ---theme 2/show.html.erb
 ---theme 3/show.html.erb

我在网上搜索,我找到了preprend_view_path。 (:已弃用)你认为这是一个好主意吗?有什么反馈吗?

修改

事实上,我想简化这个:

 Class PagesController

     def show
         render "#{current_theme}/show"
     end

     def edit
         render "#{current_theme}/edit"
     end

     def list
         render "#{current_theme}/list"
     end

     def index
         render "#{current_theme}/index"
     end

 end

任何解决方案?

2 个答案:

答案 0 :(得分:4)

您可以使用append_view_path。实际上,这个append_view_path页面上有一条评论,其中有人用它来进行主题化。

答案 1 :(得分:1)

也许您应该使用layout :some_method_to_change_theme代替?这将简化并保持您的观点干燥。
看看这个 layout