У меня есть метод определения данных для менеджера отслеживания google. Первая логика организована в представлениях, но я не думаю, что это правильно. Должен ли я помещать метод в контроллер (application_controller) или в модель?метод определения данных для менеджера отслеживания google
def gtm_data(data_hash = nil)
@gtm_data ||= {}
if @dynamic_page
gaPageUid = 'category-' + @dynamic_page.uid
elsif @product
gaPageUid = 'product'
else
gaPageUid = 'other'
end
@gtm_data = {
gaLocale: @locale, gaLanguage: @lang,
gaRegion: current_site.region, gaPageUid: gaPageUid
}
# setter call
@gtm_data.merge!(data_hash) if data_hash
@gtm_data
end
Спасибо, еще один вопрос, стоит ли тестировать (rspec) этот метод? –
Да, я бы определенно написал тесты, чтобы убедиться, что ожидаемый хеш возвращается с несколькими разными входами. –
Не могли бы вы помочь мне с написанием теста? –