К примеру в базе имеем таблицу с комментариями, вытащили из базы несколько связанных с одним постом, вытащили еще несколько связанных с другим постом. Как объединить эти два объекта? Возможно ли это сделать в стиле конкатенации строк?
Опишу более конкретно задачу:
Есть магазин, у которого много адресов, комментарии(отзывы) пишутся к адресам.
@addresses = Address.where(shop_id: @shop.id)
Дальше нужно получить все подтвержденные записи. Пытался делать так:
@addresses.each do |addr|
@comments = addr.comments.confirmed
end
Но разумеется это срабатывает только для одного последнего адреса. Пробовал
@comments = Comment.new
@addresses.each do |addr|
@comments = @comments.merge(addr.comments.confirmed)
end
, но
NoMethodError (undefined method `merge' for#<Comment:0x007ff493627ef8>):`
и
NoMethodError (undefined methodmerge' for nil:NilClass)
:`
если
@comment = Comment.new
Updateclass Comment < ActiveRecord::Base
belongs_to :address
scope :with_text, -> { where.not(:text => nil) }
scope :confirmed, -> { where(:confirmed => true) }
scope :starred, -> { where.not(:stars => nil) }
def confirm!
self.update_attributes(:confirmed => true)
end
end