Я создал ячейку, которая отображает табличный вид данных, и я хотел бы использовать ее для других табличных представлений. Для каждой строки этих данных я хотел бы иметь некоторые уникальные элементы, смешанные со стандартными столбцами. Сейчас, упрощенная версия части show.html.slim
моей ячейки выглядит следующим образом:Как я могу добавить пользовательский код рендеринга в ячейку?
- users.each do |user|
tr
/A column unique to User
td
= link_to_if current_user == user, "Groups", user_groups_path(user)
/Common code that can be shared across other tables
td user.name
Я хотел бы быть в состоянии извлечь пользователь специального кода от этого уровня и ввести его сверху. В Cells documentation указывается:
Если у вас есть сомнения, инкапсулируйте вложенные части вашего вида в отдельную ячейку. Вы можете использовать метод #cell в своей ячейке для создания экземпляра вложенной ячейки.
Однако, это трудно просто создавать новый Cell (редактирования: в ячейке таблицы):
- Мне нужно знать, что ячейка для создания.
- Мне нужно иметь возможность передавать информацию из родительской ячейки (
user
в моем примере). - Мне нужно уметь передавать информацию, относящуюся к дочерней ячейке (
current_user
в моем примере).
Какие существуют варианты для инъекции этого частичного рендеринга в ячейку? Кто-нибудь из них обычно предпочитает решения?
Вы хотите сделать частичным? Я не совсем понимаю общий вопрос, особенно когда он относится к таблице. – engineersmnky
Мое использование таблицы - это просто конкретный пример. Я был бы рад сделать частичным, пока я могу сообщить Cell, что частичное для рендеринга (разные контексты будут иметь разные частичные), и я могу предоставить частичную информацию без необходимости редактировать мой общий код Cell. – Shepmaster
Частично принимаем местные жители, которые будут характерны для частичного. условная логика может управляться в текущем виде или в частичном, который отображает частичные. – engineersmnky