Rails表现为Taggable
我正在使用acts-as-taggable-on来标记汽车模型。 我有三种不同的标签上下文:Make,Color&Features。 前两个Make&Color是在ENV变量中预定义的,最后一个上下文是用户生成的(自动窗口,加热座椅等)
我想要做的就是让我的索引页面汽车可以一次被多个标签过滤。 因此,例如,我希望索引页顶部的一系列复选框为每个用户可以检查Hyundai&Red的上下文单独设置,并且汽车索引将仅填充红色的Hyundais。 目前,我有一个路线和一些代码在我的汽车控制器,允许我过滤一个标签,但我想修改它,以过滤任何用户选择。
的routes.rb
get 'tags/:tags', to: 'cars#index', as: :tag
调节器
def index
if params[:keyword].present?
@cars = Car.tagged_with(params[:keyword])
else
@cars = Car.all.order(:cached_weighted_score => :desc)
end
end
@selected_tag
是在索引页面中被选为参数的标签。
调节器
def index
if params[:keyword].present?
@selected_tag = params[:keyword]
@cars = Car.tagged_with(params[:keyword])
else
@cars = Car.all.order(:cached_weighted_score => :desc)
end
end
视图
这只是原型视图,所以你必须结合你自己的代码。
<% @tags.each do |tag| %>
<div>
<%= check_box_tag "keywords[]", tag.name, @selected_tag.present? ? @selected_tag.include?(tag.name) : '' %>
<%= tag.name %>
</div>
<% end %>
我希望我能对我的描述给出一个总体概述。 有关预填充复选框中的数据的更多信息
链接地址: http://www.djcxy.com/p/35945.html上一篇: Rails Acts as Taggable On
下一篇: Acts As Taggable On