Backbone.js + Rails 3 URL и коллекции с вложенными маршрутами

Я пытаюсь создать новое приложение с Rails и Backbone.js, но есть несколько вложенных отношений, которые делают его довольно сложным.

На стороне Rails я использую отношения HABTM между ингредиентами и аллергенами. Я пытаюсь получить доступ к ингредиентам, которые связаны с множеством аллергенов. План состоял в том, чтобы запросить таблицу Allergens с массивом, получить их идентификаторы, а затем запросить их по таблице AllergensIngredients, чтобы получить идентификаторы Ingredients.

Маршруты вложены так:

  resources :ingredients do
    resources :allergens
  end

С URL-адресом "/ ингридиенты /: ингредиент_ид / аллергены". Это прекрасно работает для Rails. Со стороны Backbone я пытался использовать Collections для получения Аллергенов с помощью URL / Аллергены, но это отклонено в соответствии с моими маршрутами Rails (маршрут / аллергенов не существует). Итак, я добавил автономный resources :allergens маршрут под моими вложенными маршрутами. Это создало узнаваемый маршрут для Backbone, но проблемы все еще остались с моим Rails allergens_controller.rb:

  class AllergensController < ApplicationController
    respond_to :html, :json
    def index
      respond_with(
        @ingredient ||= Ingredient.find(params[:ingredient_id]),
        @allergens = @ingredient.allergens,
      )
    end
  # ...
  end

потому что @ingredient не может быть найден без идентификатора. Я пытался использовать Backbone.sync и $.get, но для них все еще требуется URL, который в конечном итоге проходит через контроллер rails. Как я могу использовать Backbone, чтобы просто запросить одну таблицу в базе данных, без какого-либо вмешательства со стороны Rails или URL? Спасибо большое за вашу помощь!

1 ответ

Я заставил его работать, используя другой подход. Я создал новое действие в allergens_controller, который только что возвратил Allergen.all, а затем использовал запрос get AJAX в Backbone для возврата объекта xhr. Не элегантное исправление, но исправление тем не менее!

Другие вопросы по тегам