Следующий вызов необходим для генерации JavaScript для сторонней библиотеки.
@items = Item.where('id IN (?) AND type_id = ?', @all_valid_items, 1).all
@records = @items.map{|a| a.slice('brand', 'producer', 'title')}
Ниже приведен модельный метод для генерации желаемой строки, которая должна генерироваться вместо одних только данных атрибута title
.
def title_text
"#{title}<br />#{main_text}"
end
Однако расширение этой логики на метод слайса как
@records = @items.map{|a| a.slice('brand', 'producer').merge({'title' => a.title_text.join})}
возвращает undefined method 'title_text' for #<Item:
как при использовании
@records = @items.map{|a| a.slice('brand', 'producer').merge({'title' => a.values_at('title','main_text').join})}
a.values_at
возвращает undefined method 'values_at' for #<Item:
Каков правильный синтаксис для генерации модифицированной строки?