【问题标题】:How to implement an AJAX price compare feature in Rails?如何在 Rails 中实现 AJAX 价格比较功能?
【发布时间】:2011-06-10 17:02:17
【问题描述】:

我想创建一个 AJAX 价格比较功能。我真的不知道它应该如何工作。

用户应该能够选择一家公司,然后会出现一个加载图标。公司列表将按价格排序,并显示用户可以节省多少。

这是我的表格:

<select style=" margin-left:10px;width:370px;float: left;
    margin-top: 10px;"name="konkurrancer[form]" id="konkurrancer_form" class="select optional">
<option value="Andet">Company 1</option>
<option value="Andet">Company 2</option>
<option value="Andet">Company 3</option>
</select>

我有一张包含所有公司名称和价格的表格。

我的桌子:

name    price   id
comany 1    120 1
comany 2    80  2
comany 3    60  3
comany 4    40  4

示例:用户选择价格为 120 美元的公司 1。他将查看所有订购的公司并确定他可以节省多少。在这种情况下,他会先看到公司 4,并且他可以节省 (120-40) 80 美元的信息。

【问题讨论】:

    标签: ruby-on-rails ruby ajax ruby-on-rails-3


    【解决方案1】:
    1. 将路由添加到 config/routes.rb 以支持您的新控制器操作。
    2. 添加触发 ajax 的 javascript
    3. 将操作处理程序添加到您的控制器
    4. 插入上述业务逻辑
    5. 使用 json 版本的 render 返回数据
    6. 在javascript端处理返回数据。

    我认为如果你使用 jQuery 之类的东西,很多事情会变得更容易,因为看起来你会想要做一些基本的 DOM 操作作为 (6) 的一部分。

    我无法真正帮助您理清 (4) 中的算法,但如果您有任何其他步骤,我可以回答更多有针对性的问题。

    编辑:按价格从低到高对公司进行排序,然后当您从每家公司中减去当前价格时,您将首先获得最大的节省。

    至于您的控制器,我想您需要传入当前价格,以及所选公司的 id...

    【讨论】:

    • 你能展示一下控制器的外观吗?我正在考虑找到公司并用价格设置一个即时变量。然后在视图中做一些减法。只是不知道我应该如何订购“省钱”。
    猜你喜欢
    • 2021-11-27
    • 2012-03-27
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    相关资源
    最近更新 更多