Как реализовать функцию сравнения цен AJAX в Rails? - PullRequest
1 голос
/ 10 июня 2011

Я хочу создать функцию сравнения цен 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

Пример: пользователь выбирает компанию 1 с ценой 120 долларов. Он увидит все заказанные компании и определит, сколько он может сэкономить. В этом случае он сначала увидит компанию 4 и информацию, которую сможет сэкономить (120-40) 80 $.

1 Ответ

1 голос
/ 10 июня 2011
  1. добавьте маршрут в config / rout.rb для поддержки вашего нового действия контроллера.
  2. добавить JavaScript, который запускает AJAX
  3. добавьте обработчик действий в ваш контроллер
  4. вставьте вышеописанную бизнес-логику
  5. вернуть ваши данные, используя версию рендера json
  6. обрабатывает возвращаемые данные на стороне javascript.

Я думаю, что если вы будете использовать что-то вроде jQuery, многое из этого станет проще, потому что кажется, что вы захотите выполнить некоторые базовые манипуляции с DOM как часть (6).

Я не могу помочь вам разобраться в алгоритме в (4), но я могу ответить на более конкретные вопросы о других шагах, если они у вас есть.

Редактировать: Сортировать компании по цене, от низкой к высокой, затем, когда вы вычтете текущую цену из каждой, вы получите наибольшую экономию.

Что касается вашего контроллера, я думаю, вам нужно будет указать текущую цену и идентификатор выбранной компании ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...