0

这是我家模型的一部分。

class House < ActiveRecord::Base

    has_many :amenity_appartment
    has_many :amenities, :through => :amenity_appartment

    has_many :category_join_table
    has_many :categories, :through => :category_join_table

    has_one :price
end

因为我们的列表中有超过 100 套房屋,所以我想添加过滤。搜索后,我找到了很好的方法。http://www.webegg.co.uk/jquery-multiple-filter/

我想从 3 个过滤选项开始...价格、类别(乡村住宅、维拉等)和设施(洗碗机、啤酒等)

我只需要用我的房屋关系中的数据值填充我的模板。

例子:

#holderwrap
  %ul#holder.filterThis
   %li.1200.design-villa.dishwasher.barbecue.wifi

(每周 1200 欧元 - 设计别墅,配有洗碗机、烧烤和无线网络等设施)

如何填写 LI 标签中的值?

4

1 回答 1

2

在 HAML 中,您可以在哈希中传递 html 类:

%li{ :class => "1200 design-villa dishwasher barbecue wifi" }

您需要获取设施名称,将它们翻译成各自的 html 类(如有必要),然后加入字符串。您可能可以将这一切打包到一个House实例方法中:

def features_to_html_class
  "#{price} #{(amenities + categories).map(&:name).join(' ')}"
end

在您看来:

%li{ :class => house.features_to_html_class }
于 2012-10-22T21:49:18.533 回答