rails中的每个循环方法

时间:2012-11-11 21:14:05

标签: ruby-on-rails ruby ruby-on-rails-3

房屋模型

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 }

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

3 个答案:

答案 0 :(得分:2)

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

Top Articles
Articles

会产生:

class="Top Articles Articles"

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

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

class="top-articles articles"

编辑:

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

答案 1 :(得分:2)

试试这个:

categories.map{|cat|cat.name|}.join(' ')

答案 2 :(得分:0)

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

{categories.name.each { |cat| cat.name}}