更改 Rails 中的默认视图路径?
Posted
技术标签:
【中文标题】更改 Rails 中的默认视图路径?【英文标题】:Changing the default view path in 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。 【参考方案1】:您可以使用append_view_path。事实上,在这个 append_view_path 页面上有一条评论,有人将它用于主题化。
【讨论】:
【参考方案2】:也许您应该改用layout :some_method_to_change_theme
?这将简化并保持您的视图干燥。 看看这个
layout
【讨论】:
layout 仅适用于更改布局,但不适用于更改生成的模板本身。还是不要忘记这一点。以上是关于更改 Rails 中的默认视图路径?的主要内容,如果未能解决你的问题,请参考以下文章