如何用rails计算销售价格

时间:2014-07-02 14:33:34

标签: ruby-on-rails

我需要开始使用rails进行计算,但我不知道从哪里开始。

假设我想从用户那里获取以下变量作为输入。用户通过填写​​表单发送请求,请求包含以下变量:

Cost price = 50 Mark up = 0.5 Container costs = 5000 dollar Boxes = 25

我需要按如下方式计算销售价格:

Sales price = cost price* (1+ Mark up) + Container costs/Boxes

我需要将销售价格放在屏幕上。

问题:如何制定计算此销售价格的方法?在用户提交包含所有变量的表单后,如何在屏幕上显示销售价格?

可能会发送500个请求,我的工作是计算每个请求的销售价格并在屏幕上显示。

2 个答案:

答案 0 :(得分:2)

这个问题实际上是关于ruby的,所以我会开始更多地了解它。 Code Academy是一个很好的起点。

基本方法如下:

def calculate_price(price, markup, overhead, boxes)
  (price * (1 + markup)) + (overhead/boxes)
end

或者,更具可读性:

def calculate_price(price, markup, overhead, boxes)
  base_price = price * (1 + markup)
  packaging  = overhead / boxes

  base_price + packaging
end

答案 1 :(得分:0)

通常你会代表不同的现实生活实体作为"模型"使用数据库中的相应表。你创建一个表单提交的控制器。这将从params获取数据并使用它进行处理,可能使用模型类的实例。

作为一个完全无关紧要且不太好的示例,不使用任何模型,您只需在控制器方法中设置这样的变量:

@sales_price = params[:cost_price].to_f * (1 + params[:mark_up].to_f) + params[:container_costs].to_f/params[:boxes].to_f

然后,在此控制器操作呈现的视图中,您可以执行以下操作:

<p>Sales Price: <%= @sales_price %></p>

但是,这非常脆弱,而且很笨重。更有可能的是,你会建立一个代表订单的模型,或者某个东西,它的字段叫做&#34; box&#34;等,以及其他模型来保存产品,以及它们的价格等,然后从params构建一个新的Order对象,它设置了product_id等。