Рельсы 3 ActiveAdmin. Кто-нибудь знает, как установить цвета ok, предупреждения и ошибки?

Я создаю приложение, которое должно отображать открытый баланс, если у клиента есть баланс, он должен отображаться на красном фоне.

Так что у меня есть это

sidebar "Account Balance", :only => :show do
  attributes_table_for invoice do
    row("Invoice Total") {number_to_currency invoice.total}
    row("Amount Paid") {number_to_currency invoice.amount_paid}
    row("Open Balance") {number_to_currency invoice.open_balance}
  end
end

Я пытаюсь добавить цвета, но не могу найти, как это сделать в документации activeadmin.

Тем не менее, есть учебник, в котором объясняется, как добавлять цвета (используя CSS ActiveAdmin [я не хочу возиться с CSS, если в ActiveAdmin есть что-то, что я могу использовать]), но я не смог реализовать это в моем приложении. http://net.tutsplus.com/tutorials/ruby/create-beautiful-administration-interfaces-with-active-admin/

Кто-нибудь знает, как?


person leonel    schedule 28.12.2011    source источник


Ответы (1)


Если я не ошибаюсь в документации, это должно работать:

sidebar "Account Balance", :only => :show do
  attributes_table_for invoice do
    row("Invoice Total") { content_tag(:span, number_to_currency(invoice.total), :class => invoide.total < 0 ? "negative" : "positive" }
  end
end

В итоге вы получите <span class="negative">-15$</span>, который затем можно будет стилизовать с помощью CSS.

person Tigraine    schedule 28.12.2011
comment
да, но я не хочу добавлять какой-либо CSS, если есть существующий CSS, который будет работать нормально. уделив немного больше внимания этому уроку, я придумал это, и это сработало: row("LAX Open Balance") {status_tag (invoice.lax_is_paid ? (number_to_currency invoice.lax_open_balance) : (number_to_currency invoice.lax_open_balance)), (invoice.lax_is_paid ? :ok : :error)} - person leonel; 28.12.2011
comment
Серьезно: я бы выбрал CSS. Вы просто злоупотребляете тегом status_tag (который получает неявный стиль CSS). Вы можете просто узнать, какие классы :ok и :error есть в CSS, и использовать их для ‹span›. - person Tigraine; 28.12.2011
comment
:ok и :error просто используют классы ok и error. Также стоит отметить, что все, что вы используете в качестве сообщения о состоянии, становится классом. (Где в документах вы это нашли? Кажется, нет в текущей версии.) - person polm23; 17.10.2012
comment
Точно не помню, но из ссылки, опубликованной OP, кажется, что блок, который передается в строку, представляет собой обычный код рельсов, поэтому вы можете просто поместить туда тег содержимого. - person Tigraine; 17.10.2012