首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用利润?

如何利用利润?
EN

Stack Overflow用户
提问于 2014-01-30 03:55:26
回答 2查看 99关注 0票数 2

现在,用户可以通过表单向网站提交项目。它收集的信息是买入价格、卖出价格和数量。从那里,我计算出这样的利润:

代码语言:javascript
复制
<td><%= number_with_delimiter(((item.soldfor - item.boughtfor) * item.quantity)) %></td>

接下来我要做的是显示用户在特定时间框架内发布的所有项目的利润,如下所示:

全时: 1,000,000 -今天: 102,111 -本周: 200,111

问题是利润只是一种计算,我不能在其他地方调用它。我如何组织计算利润的方式,使我可以这样做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-30 07:47:54

您应该在Item模型上编写一个方法来返回利润:

代码语言:javascript
复制
class Item < ActiveRecord::Base
  ...
  def profit
    (soldfor.to_f - boughtfor.to_f) * quantity.to_f  ## or use .to_i if you prefer integers
  end
  ...
end

然后在你看来你可以打电话给:

代码语言:javascript
复制
<td><%= number_with_delimiter(item.profit) %></td>

或者,如果您想获得@items集合中所有内容的总利润:

代码语言:javascript
复制
@items.sum(&:profit)

因此,在您的例子中,您可能会在控制器中这样做:

代码语言:javascript
复制
@all_time_items  = Item.where(<conditions for all_time>)
@this_week_items = @all_time_items.where(<conditions for this_week>)
@today_items     = @this_week_items.where(<conditions for today>)

然后在你看来:

代码语言:javascript
复制
All time: <%= @all_time_items.sum(&:profit) %> | Today: <%= @today_items.sum(&:profit) %> | This week: <%= @this_week_items.sum(&:profit) %>
票数 3
EN

Stack Overflow用户

发布于 2014-01-30 07:41:14

要动态调用方法吗?然后wright介绍了helper方法

代码语言:javascript
复制
def number_with_delimite(soldfor,boughtfor,quantity)
  (soldfor - boughtfor) * quantity)
end

在这里,您可以调用具有日期和时间条件的方法。

代码语言:javascript
复制
number_with_delimite(item.soldfor.item.boughtfor,item.quantity)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21447513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档