rails 上有任何插件,可以执行与railCast页面相同的操作。像过滤器一样使用标签。
例如,点击类型免费剧集(右侧),页面顶部会出现
应用过滤器:免费剧集
并与其他类别和类型相同,我单击“x”删除此过滤器...
任何想法!!!!
rails 上有任何插件,可以执行与railCast页面相同的操作。像过滤器一样使用标签。
例如,点击类型免费剧集(右侧),页面顶部会出现
应用过滤器:免费剧集
并与其他类别和类型相同,我单击“x”删除此过滤器...
任何想法!!!!
这些被认为是tags
使用 gem acts-as-taggable-on
( http://railscasts.com/episodes/382-tagging )。
您可以使用类似solr
或ransack
( http://railscasts.com/episodes/370-ransack ) 之类的搜索 gem 来搜索这些内容,或者如果您仅基于标签进行搜索,则可以构建自己的搜索操作。
在 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 %>