2012-07-03 33 views
0

我正在尝试让一个类在我的网站上填充交易选项卡。创建一个类来在ruby中填充页面1.8.7

第1部分。取物品关闭日期(CatalogItem.close_date),并在关闭12小时内使用所有物品。第2部分使用当前价格(CatalogItem.current_price)和估计值(Item.estimated_price)<计算交易百分比 - 您会注意到它们处于不同的表格中,但它们由相同的item_id标识。

我绿色的回报率,所以我有一类连接这个麻烦,但我可以使它在控制台独立工作:

hour_diff = (CatalogItem.last.close_date - Time.now)/1.hour 
deal_percentage = (CatalogItem.last.current_price.to_f/Item.last.estimated_price)*100 

正如你可以看到我用我的.last的数据,但我想创建一个数组,贯穿我的所有物品,这就是我的知识枯竭的地方,任何帮助都会大大降低

回答

0

我假设您使用的是belongs_to,但我认为你想要做的是使用 一个实例方法。这将是你的模型中,应用程序/模型/ catalog_item.rb

class CatalogItem < ActiveRecord::Base 
    belongs_to :item 

    def hours_remaining 
    (close_date - Time.now)/1.hour 
    end 

    def deal_percentage 
    (current_price.to_f/item.estimated_price)*100 
    end 
end 

然后,你可以在视图中像这样访问他们:

<table> 
    <% CatalogItem.all.each do |ci| %> 
    <tr> 
     <td><%= ci.hours_remaining %></td> 
     <td><%= ci.deal_percentage %></td> 
    </tr> 
    <% end %> 
</table> 
+0

。去年也只是最后输入的数据,我只是在控制台中使用它来提取一些数据。我需要针对这些表中的所有数据运行,并且由于估计的价格在不同的表中不会影响这种方法吗? – jahrichie

+0

我为你修改了我的答案。您可以使用CatalogItem.all将所有记录拖放到数组中。 –

+0

从多个表中提取数据很好,几乎在每个应用程序中都会发生。 Rails很好地处理它。但是,如果这些表格确实代表相同的对象,那么制作一个模型和表格可能会更好。 –

相关问题