Ruby on rails 当选中单选按钮时,RubyonRails将降低成本

Ruby on rails 当选中单选按钮时,RubyonRails将降低成本,ruby-on-rails,ruby,radio-button,e-commerce,Ruby On Rails,Ruby,Radio Button,E Commerce,我正在通过创建一个电子商务应用程序来学习RubyonRails 我的问题是,如果客户选择了店内提货,或者总金额高于100美元,我将如何删除配送成本 因此,当在店内提货时或当总金额大于100美元时应扣除送货成本 我使用了if和else来获得所需的结果。但是通过使用该选项,当选择单选按钮时,总成本不会更新 这是不带if和else <tr> <th><p>Products Total: </p></th>

我正在通过创建一个电子商务应用程序来学习RubyonRails

我的问题是,如果客户选择了
店内提货
,或者总金额高于
100美元
,我将如何删除
配送成本

因此,当
在店内提货时
或当总金额大于
100美元时
应扣除送货成本

我使用了
if
else
来获得所需的结果。但是通过使用该选项,当选择
单选按钮时,
总成本
不会更新

这是不带
if
else

    <tr>
            <th><p>Products Total: </p></th>
            <th><p>Delivery Cost: </p></th>
            <th><p>Total Cost: </p></th>
    </tr>
    <tr>
      <td><p ><%= @cart.total_price_usd %></p></td>
      <td><p ><%= @del_cost_usd %> </p></td>
      <td><p ><%= @cart.total_price_usd + @del_cost_usd%></p></td>   
    </tr>

    <div>   
      <li><%= f.radio_button :pick_up, "1", checked: false, class: 'delivery-options', data: { question: "Pick up items in store" }  %> 
      <%= f.label :pick_up, "Pick up items in store" %></li>

     <li><%= f.radio_button :pick_up, "0",  checked: true, class: 'delivery-options' , data: { question: "Have items sent by mail" } %> 
     <%= f.label :pick_up, "Have items sent by mail", class: ''  %></li> 
    </div>

产品总数:

交付成本:

总成本:

  • 有人能告诉我我想要的结果吗

    对于有经验的人来说,这可能是简单的要点

    短暂性脑缺血发作
    Codegirl

    我有一个解决这个问题的计划

    为显示的DOM标签和交货成本值指定一个类,以切换其显示属性:

    <p class="delivery-cost-fields">Delivery Cost: </p>
    <p class="delivery-cost-fields"><%= @del_cost_usd %> </p>
    

    希望这有帮助。

    可能有人能够直接回答。我不是很流利地给你一个“我头脑中的”答案,而是查找“使用JavaScript隐藏元素”。我在我的一些应用程序中使用它也是为了同样的目的。我喜欢这个。我很想知道它是否有效。漂亮低调。@NhãHuỳnh,除了行`

    `之外,这是有效的,
    id=“交货成本”似乎对这行没有任何影响。为什么呢?“我该怎么做才能让它消失呢?”codegirl我刚刚修正了我的答案。我们应该切换交货成本的description p标签和value p标签的display属性。上一篇我只是让描述标签消失了D@NhãHuỳ新罕布什尔州,谢谢,这两个领域正在消失。但是送货成本仍然会增加到总成本中,就像在这一行中一样,当选择在商店提货时,是否可以不将总价格增加到总成本中?我想这可以从您的后端解决,或者您应该使用本地计算或ajax之类的工具来解决此问题:D
    <%= f.radio_button :pick_up, "1", checked: false, class: 'delivery-options', data: { question: "Pick up items in store" }, onchange: "$('.delivery-cost-fields').toggleClass('hidden', true)"  %> 
    
    <%= f.radio_button :pick_up, "0",  checked: true, class: 'delivery-options' , data: { question: "Have items sent by mail" }, onchange: "$('.delivery-cost-fields').toggleClass('hidden', false)" %>
    
    .hidden {display: none;}