Отправка формы с использованием jquery без ajax в рельсах

0

Я новичок в rails.i. Хотите отсортировать содержимое с помощью jquery, выбрав значение из раскрывающегося списка. поэтому у меня возникла проблема с отправкой формы для конкретного действия контроллера с помощью jquery. У меня есть модель категории, которая имеет много продуктов. В моей категории показывают, что у меня есть такая форма, как рев:

    <%= form_for(:category, :url => sort_category_path, method: 'GET', :class=> " form-inline pull-left") do |f| %>
              Sort By :
              <select id ="sort" name= "order_by">
                <option>Default</option>
                <option>Name</option>
                <option>Pirce</option>

              </select>
  <%end%>

здесь, в этой форме, я не уверен, что означает: категория? Jquery для отправки формы:

  $('select#sort').change(
function(e){

    $(this).closest('form').trigger('submit');

});

Тогда у моего контроллера категории у меня есть действие sort_item, подобное этому:

  def sort_item
   @category_sort = Category.find(params[:id])

   @products = @category_sort.products.order("#{params[:order_by].to_s} ASC")
  end

Я не знаю, как отправить ответ на запрос. в журнале сервера указано:

Начато GET "/ru/categories/tshart/sort_item? Utf8 =% E2% 9C% 93 & order_by = Pirce" для 127.0.0.1 в 2013-11-11 12:53:49 +0600 Обработка по категориямController # sort_item как HTML Параметры: {"utf8" => "✓", "order_by" => "Pirce", "locale" => "en", "id" => "tshart"} Категория Load (0.3ms) SELECT categories. * FROM categories WHERE categories. slug= 'tshart' LIMIT 1

Перенаправлено на http://test.com/en/categories/tshart Цепочка фильтров остановлена как: find_category визуализирована или перенаправлена Завершено 301 Перемещено Постоянно в 6.7 мс (ActiveRecord: 0,3 мс)

имейте в виду, что test.com означает localhost: 3000.

Я хочу знать, что я делаю неправильно здесь, почему сортировка не работает или есть лучший способ выполнить мою задачу сортировки?

пожалуйста помогите. заранее спасибо.

Теги:
forms
submit

2 ответа

0
Лучший ответ

Ничего себе его работа сейчас. Это была проблема маршрутизации, которую я объяснил ранее. Вопрос:

Перенаправлено на http://test.com/en/categories/tshart Цепочка фильтров остановлена как: find_category визуализирована или перенаправлена Завершено 301 Перемещено Постоянно в 6.7 мс (ActiveRecord: 0,3 мс)

Здесь мой запрос был перенаправлен на другое действие, после чего я удалил цепочку фильтров, а затем добавил рендеринг: покажите в моем классе контроллер sort_item. теперь его просто раскачивается. Все остальное остается прежним.

Надеюсь, этот вопрос может помочь другим.

Спасибо @jai за вашу помощь.

0

Попробуйте помещать событие change в обработчик doc ready:

$(function(){ // <----enclosed in document ready
    $('select#sort').change(function(e){
       $(this).closest('form').trigger('submit');
    });
});

Это будет выглядеть, если dom был готов к привязке выполнения js-события к элементам.

  • 0
    мой bad.its уже находится в документе ready.its, попадающий на нужный URL @jai

Ещё вопросы

Сообщество Overcoder
Наверх
Меню