Как эффективно реализовать этот динамический размер таблицы в VIEW (хамл) - PullRequest
0 голосов
/ 24 января 2011

Я собираюсь отобразить таблицу hml или html в моем представлении (index.html.haml).

У меня есть строковый массив, который содержит значение true или false, например:

str=['true', 'false', 'true', 'true', 'false']

В строковом массиве есть 5 элементов, элементы в строковом массиве динамически основанына входе пользователя.Каждый из этих элементов означает ['display_color','display_size','display_shape', 'display_owner','display_price'],

, если оно истинно, таблица будет отображать это свойство в столбце.

Итак, основываясь на строковом массиве «true-false», я выведу таблицу haml или html с правилом, согласно которому, если значение равно true, таблица будет отображать правильное «display_ *» в столбцев противном случае свойство таблицы не отображается.

Например, если строковый массив содержит значение, как указано выше, в моей таблице будут столбцы "display_color" "display_shape" и "display_owner ", так как они установлены в true в массиве.

В haml или HTML, как я могу написать блок эффективного кода для рендеринга этой таблицы динамических размеров ??любой пример?

Ответы [ 2 ]

0 голосов
/ 24 января 2011

Если вы действительно беспокоитесь об эффективности, не используйте строковый массив для хранения логических значений.Имейте в виду, что это, вероятно, не в ваших руках, потому что это, вероятно, исходит от элемента управления формы, и лучшее, что они делают, это целые числа.

Являются ли эти столбцы свойствами модели?Если это так, то наиболее эффективным способом, вероятно, будет написание помощника, который принимает массив и определяет, какие свойства показывать.В противном случае следуйте ответу Дхрувы Сагар.

Извините, у меня нет времени, чтобы написать вам помощника прямо сейчас.Позже сегодня я отредактирую одну.

0 голосов
/ 24 января 2011

Что-то вроде этого должно сделать это:

%table
  %tbody
    -str.each_with_index do |s, i|
      -if s == 'true'
        %td=array[i]

Вы можете применить ту же логику для заголовков и т.д ...

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