0

房子模型

class House < ActiveRecord::Base
   has_many :categories, :through => :category_join_table

def features_to_html_class  
  "#{price} #{rooms} #{guests} #{{categories.name do |cat| cat.name}}"
end
end

房屋索引模板

- @houses.each do |house|
  .item{:class => house.features_to_html_class }

值价格、房间、客人在视图中被正确解析(过滤目的),但不是类别。我做错了什么?

4

3 回答 3

2

如果有空格,您不希望同一个类别名称有多个类。

Top Articles
Articles

会产生:

class="Top Articles Articles"

您可以更进一步,用破折号替换空格,并将其全部小写:

"#{ categories.map{ |cat| cat.name.parameterize }"

class="top-articles articles"

编辑:

正如 Anthony 在评论中指出的那样,如果您使用的是 Rails,则可以使用parameterize

于 2012-11-11T21:16:00.807 回答
2

试试这个:

categories.map{|cat|cat.name|}.join(' ')
于 2012-11-11T21:20:31.950 回答
0

您应该遍历每个名​​称类别,因此您需要使用:

{categories.name.each { |cat| cat.name}}
于 2012-11-11T21:27:04.457 回答