Cайт веб-разработчика, программиста Ruby on Rails ESV Corp. Екатеринбург, Москва, Санкт-Петербург, Новосибирск, Первоуральск

Админка на Ruby on Rails

Список классов для элемента HTML в Ruby on Rails

Список классов для элемента HTML, например, div в Ruby on Rails.

Необходимо для элемента указать список классов. Можно, конечно, придумать алгоритм для построения строки, что-то типа str = 'class1 class2', а потом указать :class => str, но есть способ проще. Во-первых - привыкаем использовать content_tag, во-вторых - используем возможности этого полезного и удобного способа - значением обозначения :class устанавливаем не строку или обозначение, а Array.

Получаем следующее:

<%= content_tag(:div, 'содержимое', :class => :class1) %>

Если необходимо указать несколько классов:

<%= content_tag(:div, 'содержимое', :class => [:class1, :class2]) %>

Более того, если список классов переменный и зависит от каких-то условий:

<%= 

  if condition
    klass = :class2
  else
    klass = nil # в этом случае класс не будет добавлен в список
  end

  content_tag(:div, 'содержимое', :class => [:class1, klass]) 

%>