1

rails 上有任何插件,可以执行与railCast页面相同的操作。像过滤器一样使用标签。

例如,点击类型免费剧集(右侧),页面顶部会出现

应用过滤器:免费剧集

并与其他类别和类型相同,我单击“x”删除此过滤器...

任何想法!!!!

4

2 回答 2

0

这些被认为是tags使用 gem acts-as-taggable-on( http://railscasts.com/episodes/382-tagging )。

您可以使用类似solrransack( http://railscasts.com/episodes/370-ransack ) 之类的搜索 gem 来搜索这些内容,或者如果您仅基于标签进行搜索,则可以构建自己的搜索操作。

于 2013-09-16T13:52:23.153 回答
0

在 railscasts 网站上有一个类型参数集,如果您单击其中一种情节类型。必须有一个处理类型参数的索引操作 - 如果设置,则仅查询特定类型的参数,如果没有,则查询所有剧集。这很容易。例如,它可能如下所示:

class EpisodesController < ApplicationController

  def index
    if params[:type]
      @episodes = Episode.where(:specifc_type => params[:type]) 
      # or
      @episodes = Episode.to_klass(params[:type]).all # if you are using STI and have a to_klass method in your model, which generates the class constant out of the params, e.g => params[:type] => "pro", Episode.to_klass("pro") => ProEpisode, or something similar
    else
      @episodes = Episode.all
    end
  end
end

在您看来,简单地渲染过滤器

app/views/episodes/index.html.erb

<% if params[:type] %>
  <div class="filters">
    <strong>Applied Filters:</strong>
    <span class="filter">
      <%= your_helper_display_name(params[:type]) %>
      <%= link_to "x", root_path %> # removes the type params => the else case in your index action will be called.
    </span>
  </div>
<% end %>
于 2013-09-16T13:54:27.307 回答