Создать представление с использованием данных нескольких моделей - PullRequest
2 голосов
/ 20 февраля 2011

Мое приложение (rails 3) использует collection и product в качестве моделей. коллекция has_many продукты и изделия belongs_to коллекция.

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

1) Более элегантно создать новый вид / контроллер или создать новый вид в видах продукта

2) Кажется, что я должен что-то сделать с маршрутами, но как и чем?

3) Какие аргументы link_to я должен использовать для передачи значения моей коллекции?

4) Я прочитал целую книгу (прагматичный ROR) и, несмотря на это, проводя множество онлайн-исследований, я продолжаю заканчивать здесь, задавая не столь сложный вопрос по Rails. Что я делаю не так?

1 Ответ

1 голос
/ 20 февраля 2011
  1. Я бы пошел с созданием нового действия в контроллерах коллекции. URL будет выглядеть так:

    / коллекции / 1 / продукты

    , где 1 - идентификатор коллекции.

  2. Я полагаю, у вас есть

    коллекции ресурсов

    поэтому вам нужно добавить действие 'products' для члена коллекции:

    resources collections do
      member do
        get :products
      end
    end
    

    Вы можете запускать Rake-маршруты из консоли, чтобы посмотреть, как выглядят маршруты вашего приложения.

  3. Код ссылки должен выглядеть следующим образом

    link_to "Collection products", products_collection_path(@collection)
    
  4. По моему мнению, чтение в порядке, но пока вы читаете, вы должны делать много примеров, пишите их сами, иначе вы очень быстро забудете вещи. Я на 100% уверен, что то, что я написал выше, было в книге, которую ты прочитал.

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