rails将变量添加到映射中

时间:2011-07-27 14:41:45

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

我的控制器中有以下映射(@initial_matches表示SQL查询)。我想为每个|listing|添加一个变量 - 例如,假设我想根据某些条件添加分数并将其附加到每个分数,然后在我的视图中引用它。有没有办法做到这一点?

 @refined_list = @initial_matches.map { |listing|
      listing_location = MultiGeocoder.geocode(listing.location)
      listing_location.distance_from(user_location, :units=>:miles) > distance.to_f ? nil : listing
      @new_variable = listing.some_criteria //NOT WORKING
    }.compact 

1 个答案:

答案 0 :(得分:0)

每次循环都会覆盖

@new_variable。这种类型的东西会更好地放在你的模型中;在您的Listing模型上创建一个方法,根据模型的属性计算得分,并在您的视图中调用它。