【问题标题】:Calculate the cost of a reservation计算预订费用
【发布时间】:2018-03-15 18:17:42
【问题描述】:

我有一个允许用户预订车辆的预订应用程序。我已经列出了每天租用车辆的费用,即每天 100 英镑。我如何计算租用的总成本?

关于预订新 (_form.html.erb) 用户选择开始日期和结束日期

 <div class="field">
  <%= form.label :startDate, "Start Date:" %>
  <%= form.text_field :startDate, {class: "form-control custom", id: "start-date"}%> 
 </div>

 <div class="field">
  <%= form.label :endDate, "End Date:" %>
  <%= form.text_field :endDate, {class: "form-control custom", id: "end-date"}%> 
 </div>

目前,成本字段是默认输入字段。

我可以使用

调用车辆成本
<%= @vehicle.cost %>

我将如何计算成本? 是否会类似于 endDate - startDate 来获得总天数,然后将其乘以成本?

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

总费用为每日价格*天数。

如果要在控制器中计算价格:

start = Date.parse(params[:startDate])
end = Date.parse(params[:endDate])
price = @vehicle.cost * (end - start).to_i

如果您想在视图中执行此操作,同时更改日期:

<span id="daily-price" style="display:none"><%= @vehicle.price %></span>
<div id="full-price"></div>

<script>
  $( "#start-date, #end-date" ).change(function() {
    var d1=document.getElementById("start-date").value;
    var d2=document.getElementById("end-date").value;
    var start = new Date(d1);
    var end = new Date(d2);
    var daily_price=document.getElementById("daily-price").innerHTML;

    var full_price = daily_price * (end-start) / (24*3600*1000); // from milliseconds to days.
    $("#full-price").innerHTML=full_price;
  });
</script>

【讨论】:

  • 您好,感谢以上内容。我正在尝试在更改日期时使用视图中的那个。我在上一页有车辆费用。我试过像var daily_price=document.getElementById(&lt;%= @vehicle.price %&gt;).value; 这样调用车辆成本,但这不起作用。最好的方法是什么?
  • 您应该在此页面中包含车辆成本(它可以是隐藏字段)。或者您可以使用全价字段中的数据属性来保存每日价格。
  • 我可以在视图中调用它,例如&lt;%= @vehicle.price %&gt;,但我不知道如何在 java 位中调用它。我试图给它一个“id:“每日价格”`
  • 我更新了我的答案以包含一个包含价格的字段。
  • 很抱歉,但它不起作用。我看不到它更新或做任何事情。我可以看到您如何设置每日价格等。我只是无法弄清楚为什么它不起作用。有什么建议吗?
猜你喜欢
  • 2013-03-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 2022-11-02
  • 1970-01-01
相关资源
最近更新 更多