2012-01-19 3 views
0

Так что я хотел бы генерировать случайные background-color на основе массива:Вспомогательная функция не возвращает строку

def panel_color 
a = ["#E5E0AE","#A4D349","#F1427B","#F09137","#792060"] 
return a.sample 
end 

достаточно просто. Это будет использоваться в моем диске зрения # index.erb, поэтому я называю его там:

... 
<div class="panel" style="background-color: <% panel_color %>;"> 
... 

Поскольку это вспомогательный метод для представления, я поместил функцию в helpers/disc_helper.rb

module DiscHelper 
def panel_color 
    a = ["#E5E0AE","#A4D349","#F1427B","#F09137","#792060"] 
    return a.sample 
end 
end 

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

ответ

1

Вы просто выполняете его, не отображая его. Используйте <%= ... %> вместо:

<%= panel_color %> 

def panel_color 
    ["#E5E0AE","#A4D349","#F1427B","#F09137","#792060"].sample 
end 
+0

Спасибо, Дейв. Я чувствую себя придурком. – Nic

+0

@melee Тогда моя работа здесь сделана! (Мы все были там.) –

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