REST & Rails: Как лучше всего показать разные представления для данного ресурса и действия? - PullRequest
4 голосов
/ 11 августа 2010

У меня есть ресурс Inventory, который нужно «показать» примерно 4 разными способами в зависимости от контекста.Каков наилучший способ справиться с этим?

Я думал, что мог бы либо передать параметр (param [: context]), который бы позволил действию "show" отобразить правильный видИли, может быть, я должен сделать другой контроллер, хотя это кажется немного.Каковы лучшие практики / общие рекомендации, когда вы хотите остаться RESTful, но у вас есть ресурс, который должен отображаться разными способами?

Ответы [ 2 ]

1 голос
/ 12 августа 2010

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

Представляет ли контекст что-то в вашей модели? Тогда вам следует использовать разные модели и разные контроллеры.

Представляет ли контекст что-то кроме действий REST? Добавьте пользовательское действие REST (http://railscasts.com/episodes/35-custom-rest-actions) с соответствующим маршрутом (мне кажется, что вы пытаетесь сделать здесь).

Эквивалентны ли представления, только с разной разметкой? Вы можете использовать ячейки (http://cells.rubyforge.org/), чтобы абстрагировать шаблон презентации.

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

0 голосов
/ 11 августа 2010

Я бы просто использовал разные действия для каждого типа 'show', который вам нужен для каждого объекта, таким образом, вам не нужно беспокоиться о передаче контекстной переменной и обособлении представления для визуализации.Просто убедитесь, что у вас правильно настроены маршруты и вы связываетесь с правильным действием для разных типов контекста, которые вы настраиваете.

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