未指定 ID 的资源路径



如果我的路径位于特定资源上,我想呈现部分,但我不想指示资源的 ID。

如果路径位于任何视频资源上,我想加载保存在我的<head>标签之间的部分元数据标签:

<head>
  <%= render 'layouts/partial_name' if request.fullpath == video_path(params[:id]) %>
</head>

但是,这仅在我请求视频资源(例如'/videos/92' .

你可以

试试request.full_path.starts_with? videos_path,或者request.full_path =~ /^/video/

但是,有更好的方法可以做到这一点。在布局中:

<head>
  <!-- ... -->
  <%= yield :head %>
</head>

在要添加元标记的视图中:

<% content_for :head do %>
<%= render :partial => 'meta_tags' %>
<% end %>
<!-- ... -->

此用法是 content_for 方法的规范示例。

我相信

这就是你要找的...

<%= render 'layouts/partial_name' if params[:controller] == "videos"  && params[:action] == "show" %>

理想情况下,您需要为负责视频资源的控制器提供自定义布局。有关布局的更多信息可以在此railscast http://railscasts.com/episodes/7-all-about-layouts 中学习。

对于快速且肮脏(非常非常脏)的解决方案,您可以检查request.fullpath是否包含"视频"字符串。

<%= render 'layouts/partial_name' if request.fullpath =~ /videos/ %>

相关内容

最新更新