2010-10-19 3 views
0

Я пытаюсь построить цветной код на моем сайте для определенного метода класса, так что некоторые значения отображаются в другом цвете, если они низки.Можно ли использовать метод класса для определения стиля CSS?

Я только что определил метод класса, который переводит числа, хранящиеся в моей базе данных, в слова, отображаемые моим пользователям.

# model.rb 
def numbers_explained 
    numbers_explained = case number 
    when 0 then "Low" 
    when 1 then "OK" 
    when 2 then "OK" 
    when 3 then "High" 
    end 
end 

Другое, что я хотел бы сделать, это всегда показывать «Низкий» в красном.

Можем ли мы «использовать» стили CSS, как мы делаем с данными? Могу ли я приложить что-то вроде color:red !important;?

ответ

3

Я не думаю, что есть какой-нибудь причудливый способ сделать это с помощью Rails. Это чистая логика представления, так что я бы определить вспомогательный метод в model_helper.rb, чтобы обернуть его в span с class:

def numbers_explained(model) 
    content_tag_for(:span, model, :class => (model.number ? '' : 'low')) do 
    model.numbers_explained 
    end 
end 

И добавить CSS для класса low, чтобы отобразить его в красный цвет.

+0

Слушайте Мэтта, для этого нужны вспомогательные методы. – Faisal

Смежные вопросы