Как получить текущий абсолютный URL в Ruby on Rails?

Существуют различные альтернативные подходы, которые мы можем использовать для предложения IN в PreparedStatement.

  1. Использование одиночных запросов - самая медленная производительность и ресурсоемкость
  2. Использование StoredProcedure - самая быстрая, но база данных специфический
  3. Создание динамического запроса для PreparedStatement - Хорошая производительность, но не получает преимущества кэширования, и PreparedStatement перекомпилируется каждый раз.
  4. Использовать NULL в запросах PreparedStatement - Оптимальная производительность, отлично работает, когда вы знаете предел аргументов предложения IN. Если ограничений нет, вы можете выполнять запросы в пакетном режиме. Пример фрагмента кода;
        int i = 1;
        for(; i <=ids.length; i++){
            ps.setInt(i, ids[i-1]);
        }
    
        //set null for remaining ones
        for(; i<=PARAM_SIZE;i++){
            ps.setNull(i, java.sql.Types.INTEGER);
        }
    

Здесь вы можете узнать подробнее об этих альтернативных подходах здесь .

1010
задан Andrei Eliade 5 April 2017 в 20:42
поделиться

3 ответа

Обе стороны должны читать из соединения, поэтому они могут обнаружить, когда сверстник закрылся. При чтении возвращается -1 это будет означать, что другой конец закрыл соединение, и это ваш ключ, чтобы закрыть ваш конец.

-121--3808405-

к авторелерее или не на авторелезе

, что вопрос.

Независимо от того, нуждается ли TIS благородный кодер, чтобы понести стропы, и стрелки утечки памяти или принять оружие против моря отсрожденных указателей и сохраняя их, заканчиваем их ... TIS, преданно желаю! Да, есть руб. ... Для тех, кто вышел на выпущенные объекты, какие аварии могут прийти, когда мы ссылаемся на объекты, которые не должны предоставить нам паузу.

Я не мог помочь себе. Я возьму прессующую репутацию. Я ни о чем не сожалею!

-121--2741476-

Для рельсов 3.2 или рельсов 4+

Вы должны использовать request.original_url , чтобы получить текущий URL.

Этот метод задокументирован в Метод оригинала_URL , но если вам интересно, реализация:

def original_url
  base_url + original_fullpath
end

для рельсов 3:

Вы можете написать »# {Request.Protocol. } # {request.host_with_port} # {request.fullpath} ", поскольку request.url теперь устарел.


Для рельсов 2:

Вы можете написать request.url вместо request.request_uri . Это сочетает в себе протокол (обычно http: //) с хостом и request_uri предоставить вам полный адрес.

1424
ответ дан 19 December 2019 в 20:20
поделиться

Если под относительным вы имеете в виду только без домена, то посмотрите в request.domain.

9
ответ дан 19 December 2019 в 20:20
поделиться

Я думаю, что requept.domain будет работать, но что, если вы в подпункте, как BLAH.BLAH.com? Что-то вроде этого может работать:

<%= request.env["HTTP_HOST"] + page = "/" + request.path_parameters['controller'] + "/" + request.path_parameters['action'] %>

Измените параметры на основе структуры вашего пути.

Надеюсь, что поможет!

16
ответ дан 19 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: