Как использовать redirect_to для не-Rails URL с параметрами запроса?

Наблюдаемое поведение в настоящее время связано с тем, что , проходящее по значению , означает, что копия значения (новое целое число со значением) фактически передается функции.

Вы должны пройти по ссылке. Для этого функция changeValue будет выглядеть так:

void changeValue(int& value)

Остальная часть кода останется прежней.

Передача переменной по ссылке означает ту же int value, объявленную в main передается функции changeValue.

В качестве альтернативы вы можете передать указатель на value на функцию changeValue. Это, однако, потребует изменений в том, как вы также вызываете функцию.

int main()
{
    int value = 5;

    changeValue(&value);

    ...

    return 0;
}

void changeValue(int* value)
{
    *value = 6;
}
14
задан John Topley 13 November 2009 в 22:19
поделиться

1 ответ

Согласно документации , любые параметры, которые не распознаются url_for , передаются в модули Route, поэтому теоретически ваш код должен работают, если ваш параметр не переопределяет один из параметров по умолчанию, который он ищет.

Однако есть хэш : overwrite_params , который вы предположительно можете передать:

redirect_to 'http://www.web.com/myurl', :overwrite_params => { :parm => 'foo' }

Надеюсь, это поможет.

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

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