Похожие чаты

Вот так решил: def index if params[:key].present? && (short_url =

ShortUrl.get(params[:key]))
redirect_params = params.permit!.except("language", "special", "controller", "action", "key").to_h

path = URI.parse(short_url.value)
path.query = path.query + URI.encode_www_form(redirect_params)

short_url.view!
redirect_to path.to_s
else
redirect_to root_url
end
end

3 ответов

27 просмотров

Не совсем по делу, но я бы поменял index на show ещё :) мне кажется это семантически логичнее. Ещё я бы проверил не теряется ли там "&"

Александр-Черняк Автор вопроса
Ortemy Alexandrovich
Не совсем по делу, но я бы поменял index на show е...

Поправил так: def index if params[:key].present? && (short_url = ShortUrl.get(params[:key])) redirect_params = params.permit!.except("language", "special", "controller", "action", "key").to_h path = URI.parse(short_url.value) path.query = [path.query, URI.encode_www_form(redirect_params)].compact.join('&') short_url.view! redirect_to path.to_s else redirect_to root_url end end

Александр Черняк
Поправил так: def index if params[:key].present...

def index short_url = short_url_by_key(params[:key]) return redirect_to(root_url) if short_url.nil? path = generate_path(short_url) short_url.view! redirect_to path end def generate_path(short_url) path = URI.parse(short_url.value) path.query = [path.query, URI.encode_www_form(redirect_params)].compact.join('&') path.to_s end def short_url_by_key(key) return if key.nil? ShortUrl.get(key) end def redirect_params params.permit!.except("language", "special", "controller", "action", "key").to_h end

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
any reference of this implementation?
BitBuddha
29
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
11
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Привет)) уже кажется эту тему перемусолили, но вот я так и не понял. Я сейчас сижу на 27дюймов 2к мониторе. На Актуальной макоси, если я куплю 27д 4к монитор: - будет ли изобр...
Vladislav Piskunov
11
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Карта сайта