In controller I use pluck method to get id and name from my database
@user1 = User.where(name: 'Alex').pluck(:id, :name).first
@user2 = User.where(name: 'Alex').pluck(:id, :name)
It return array
@user1 = `[3, 'Alex']`
@user2 = [[3,'Alex'],[4, 'Alex']]
How can I make object from array, like:
@user1 = <User id:3, name:'Alex'>
@user2 = [<User id:3, name:'Alex'>, <User id:4, name:'Alex'>]
Try:
users = User.where(name: 'Alex').pluck(:id, :name).map do |id, name|
User.new({ id: id, name: name })
end
Or from provided variables:
@user1_obj = User.new(id: @user1[0], name: @user1[1])
@user2_arr = @user2.map { |params| User.new(id: params[0], name: params[1]) }
Please, be advised, you should let ORM do the thing for you, rather building objects on your own.
Hope that helps!