我需要开始使用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个请求,我的工作是计算每个请求的销售价格并在屏幕上显示。
答案 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等。