这是问题所在,假设我有一些资源,我希望索引全部在由制表符分隔的同一页面上,在这种情况下,它是不同类型的内容:视频,pdf等。我也有部分内容被包含在内分成几个不同的视图,在这种情况下是一个搜索功能。部分做这样的事情让你自定义它的各个部分:
_search.html.slim中的:
.toolbar
.left
= render 'left_toolbar', f: f
项目树看起来像:
app
--views
----media
------index.html.slim
------videos_list.html.slim
------pdfs_list.html.slim
------videos
--------_left_toolbar.html.slim
------pdfs
--------_left_toolbar.html.slim
我有一个控制器来管理来自页面的请求,其中包含各种内容资源:
media_library_controller.rb中的:
def index
end
def videos
<sets everything needed to render a videos list, @videos etc.>
render :index
end
def pdfs
<sets everything needed to render a pdf list, @pdfs etc.>
render :index
end
并在index.html.slim
中= render 'application/search'
ul.nav.nav-tabs
li.active
a href='#videosListTab' data-toggle='tab' Videos
li
a href='#pdfsListTab' data-toggle='tab' PDFs
ul.tab-content
li.tab-pane.active#videosListTab
.js-video-collection
= render 'videos_list' if @videos
li.tab-pane.active#pdfsListTab
.js-pdf-collection
= render 'pdfs_list' if @pdfs
我想要的是能够在控制器中定义search.html.slim寻找时查找left_toolbar.html.slim的文件夹
我尝试覆盖controller_path
这似乎不起作用。 prepend_view_path
看起来很有希望,但它会将控制器名称附加到视图路径的末尾,以便在设置时使用app/views/media_library/videos/media_library
之类的内容。有什么建议?我不希望局部搜索部分。
答案 0 :(得分:0)
我想要的是能够在控制器中定义search.html.slim寻找时查找left_toolbar.html.slim的文件夹
Perhaps you're getting ahead of yourself:
default-local
该代码将从中拉出部分内容 应用程序/视图/共享/ _menu.html.erb。
根据我对您的问题的理解,您想知道Rails如何为您的部分指定特定路径?没有必要 - 可以从应用中的任何位置引用部分内容。
因此,当您提到<%= render "shared/menu" %>
寻找它时,您只需将search.html
的文件夹添加到路径中:
left_toolbar
同样,使用您的媒体标签...他们是所有部分内容 - 只需使用部分路径中的文件夹名称:
render 'your_path/left_toolbar', f: f