【问题标题】:Rails prepend_view_paths not overriding default view pathRails prepend_view_paths 没有覆盖默认视图路径
【发布时间】:2019-05-03 19:32:10
【问题描述】:

我正在重新模板化需要渲染不同视图而不是旧样式的应用的管理部分。在下面,view_paths 显示路径已预先设置,但仍呈现旧视图。

# View folder structure
# /app
# --/views
# ----/admin
# ------/dashboard
# --------show.html.erb
# ----/admin_v2
# ------/dashboard
# --------show.html.erb

# routes.rb
constraints subdomain: 'admin' do
    scope module: 'admin', as: 'admin' do
        root to: 'dashboard#show'
    end
end

# AdminController
class AdminController < ApplicationController
    prepend_view_paths "#{Rails.root}/app/views/admin_v2"
end

# Admin::DashboardController
class Admin::DashboardController < AdminController
    def show
    end
end

我已经移动了一些东西,试图在其中戳洞,但我唯一的猜测是它与我的路线结构方式有关。

关于为什么的任何想法?

【问题讨论】:

  • prepend_view_paths 'views/admin_v2' 工作吗?
  • 'views/admin_v2'"#{Rails.root}/app/views/admin_v2" 均为负数

标签: ruby-on-rails actioncontroller


【解决方案1】:

所以我自己想通了。

它与路由范围有关。基本上它是在我的lookup_context 中添加一个管理员前缀。

通过更改我的文件夹结构以考虑到这一点,如下所示,我能够让一切正常工作。

# View folder structure
# /app
# --/views
# ----/admin
# ------/dashboard
# --------show.html.erb
# ----/admin_v2
# ------/admin
# --------/dashboard
# ----------show.html.erb

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 2012-04-02
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多