Я в недоумении, почему это происходит. У меня есть следующая функция:
def as_json(options = {})
json = {
:id => id,
# ... more unimportant code
}
unless options[:simple]
# ... more unimportant code
end
json
end
Это работает большую часть времени, но в одном частичном, где я называю это:
window.JSONdata = <%= @day.to_json.html_safe %>
Я получаю следующую ошибку:
ActionView :: Template :: Error (У вас есть нулевой объект, когда вы этого не ожидали!
Возможно, вы ожидали экземпляр Array.
Произошла ошибка при оценке nil. []):
Указание на строку «если только опции [: simple]». Насколько я могу судить, хэш опций равен nil, поэтому метод игнорирует присвоение параметров по умолчанию. ЗАЧЕМ? Я могу это исправить, изменив метод на:
def as_json(options)
options ||= {}
json = {
:id => id,
# ... more unimportant code
}
unless options[:simple]
# ... more unimportant code
end
json
end
Имеет ли это какой-либо смысл для кого-либо !? Наиболее признателен за вашу помощь.