SORRY :: Я забыл, что params [: user_id] не существует в контроллере, используя current_user.id!
Я написал метод, который возвращает массив значений мест для пользовательских ставок, например, [2, 8, 10]. В консоли Rails все работает нормально, но переменная экземпляра из контроллера возвращает ноль в браузер. Что происходит?
Этот метод возвращает массив, такой как [1, 2, 3], из консоли
def bid_places(bid_user_id, auction_id)
unique_bids = Bid.find_all_by_auction_id(auction_id).uniq
unique_bids.sort! {|a, b| b.point <=> a.point }
a, n, places = 0, 0, []
until a == 3 || n == unique_bids.count
place = n + 1
user = unique_bids.values_at(n).first.user_id
if user == bid_user_id
places[a] = place
a += 1
end
n += 1
end
places
end
в контроллере возвращает [] (с использованием отладчика)
@user_places = @bid.bid_places(params[:user_id], params[:auction_id])
=> []