【问题标题】:Changing the default view path in Rails?更改 Rails 中的默认视图路径?
【发布时间】:2011-05-30 15:52:24
【问题描述】:

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

 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。 (:deprecated) 你认为这是一个好主意吗?有什么反馈吗?

编辑

其实我想简化一下:

 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

任何解决方案?

【问题讨论】:

  • 布局怎么样?还是部分?如果 request.somerequest, :render => 'something'
  • 嘿!我正在寻找一份兼职的铁轨/红宝石工作。有的话可以考虑我。我的 SO 个人资料中有我的电子邮件 ID。

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


【解决方案1】:

您可以使用append_view_path。事实上,在这个 append_view_path 页面上有一条评论,有人将它用于主题化。

【讨论】:

    【解决方案2】:

    也许您应该改用layout :some_method_to_change_theme?这将简化并保持您的视图干燥。
    看看这个 layout

    【讨论】:

    • layout 仅适用于更改布局,但不适用于更改生成的模板本身。还是不要忘记这一点。
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2011-06-05
    相关资源
    最近更新 更多