У меня есть класс с именем 'Color', который наследуется от String, он принимает и возвращает шестнадцатеричную строку цвета.
У меня есть следующая модель
class Category < ActiveRecord::Base
def color
Color.new(self[:color])
end
end
И у меня следующий виддля формы редактирования категории:
<%= form_for @category, url: @category do |f| %>
<%= f.label :color %>:
<%= f.color_field :color %>
<% end %>
Независимо от того, какой цвет я установил для категории, поле color_field всегда возвращает черный цвет.Я предполагаю, что nil передается в поле, а черный - просто значение по умолчанию?
Странно, если я изменю color_field на text_field, шестнадцатеричная строка будет проходить, как и ожидалось.Если я вызываю @ category.color, @category :: color, @category [: color] или @ category.send: color, я также получаю шестнадцатеричную строку, как и ожидалось, поэтому я не могу понять, где находится черный (или ноль)Исходя из.