Cross Origin Resource Sharing - это механизм, который использует дополнительные заголовки HTTP, чтобы сообщить браузеру, что веб-приложение, работающее на одном источнике (клиенте), имеет разрешение на доступ к выбранным ресурсам с сервера в другом источнике.
В основном, вашему Vue-приложению ( http: // localhost: 8080 ) должен быть разрешен доступ к вашей конечной точке Laravel ( http://127.0.0.1:8000/api/v1/ login ) Это должно помешать мне ударить конечную точку Laravel с моего вредоносного веб-сайта и действовать как аутентифицированный пользователь.
На основании docs вам нужно добавить 'allowedOrigins' => ['*'],
, но это означает, что вы открываете свой сервер для всех запросов. Это нормально, если это общедоступный API, но в этом контексте это звучит не так, как вы этого хотите. Вместо этого в этом случае это будет 'allowedOrigins' => ['localhost:8080'],
, чтобы ваше приложение Vue могло потреблять ваш сервер Laravel.
Вы можете использовать следующее:
list.first((list.length/2).ceil) # will convert 1.5 to 2
И
list.last((list.length/2).floor) # will convert 1.5 to 1
<час> Проблема, с которой вы столкнулись, состоит в том, что [7,8,9][3/2]
возвращает 8
, и логика [114 ] (list.size / 2
) использовался как в first_half
, так и в last_half
.
Это то, что я в итоге сделал, чтобы заставить его работать. Мне пришлось изменить длину на число с плавающей точкой to_f
, затем я смог заставить его правильно тестировать в консоли.
def first_half(list)
list[0...(list.length.to_f / 2).ceil]
end
def last_half(list)
list[(list.length.to_f / 2).ceil...list.length]
end
Использование .ceil
в обоих методах позволило математике работать.