Получение имени контроллера из массива объектов - PullRequest
0 голосов
/ 28 января 2012

Должен быть более умный способ делать то, что я делаю здесь.

Я на странице шоу для моей модели в проекте рельсов. Эта модель - Автомобиль.

Каждое транспортное средство имеет множество записей о пробеге, поэтому я пытаюсь отобразить их на странице показа каждого транспортного средства.

Я отрисовываю частичную 'records_table' (поэтому я могу использовать ее для служебных записей далее вниз по странице). Проблема в том, что в этом фрагменте я рендерим заголовки таблиц, используя следующий код:

<%= render "table_headers" %>

Отображает заголовки таблицы для Транспортного средства, а не для Записи пробега (по понятным причинам). Я могу обойти проблему, выполнив это, чтобы получить имя папки представлений (имя контроллера, связанного с записями пробега)

<%= render "#{objs.first.class.name.pluralize.underscore}/table_headers" %>

Это такой уродливый способ делать вещи. Есть ли другой способ получить имя контроллера из массива объектов (при условии, что они все из одной модели)? Или есть лучший способ указать, какие таблицы_заголовки я хочу (без статического ввода micycle_records, поскольку это необходимо учитывать для других типов записей)?

1 Ответ

0 голосов
/ 28 января 2012

Как насчет передачи переменной в парциальное, как описано здесь:

http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

в разделе 3.4.4?

Вы можете передать controller.controller_name вчастичный _records, который затем может ссылаться на хеш или таблицу поиска в другом месте, чтобы определить, какие записи он должен показывать.

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