Как передать параметр в форму в Rails, которая сохраняется при ошибке проверки? - PullRequest
1 голос
/ 01 июня 2009

Я пытаюсь создать иерархическую систему меню в рельсах. Моя модель меню находится в древовидной структуре данных, и мне нужно передать родительскую информацию новому действию. Лучший способ сделать это - передать идентификатор родителя в виде строки запроса. Это работает, если проверка не блокирует создание. Проблема в том, что после рендеринга нового представления параметр больше не присутствует в URL.

Я поступаю неправильно с этим? Должен ли я просто сохранить значение в сеансе? Если я создаю выпадающий список для выбора родительского элемента (я бы предпочел просто позволить пользователю нажать «Добавить новый элемент здесь»). Это должно быть распространенной проблемой, но я не смог найти что-нибудь подходящее.

Обновление: чтобы прояснить вопрос, я попытался сделать следующее, чтобы передать параметр, когда представление отображается в случае сбоя, но URL-адрес уже был установлен в этот момент (мы уже разместили базовый URL-адрес контроллера ).

format.html { render :action => "new", :parent_id=> params[:parent_id] }

Мне нужен другой способ передачи параметра.

Ответы [ 2 ]

1 голос
/ 01 июня 2009

Я понял это. Я просто добавил скрытое поле для хранения parent_id. Когда браузер запрашивает новую форму, я помещаю parent_id в объект модели, и он сохраняется в psotback.

0 голосов
/ 01 июня 2009

Не на 100% ясно, что вы пытаетесь достичь.

После того, как операция не проходит проверку, вы снова визуализируете представление? Вы не можете просто передать parent_id этому представлению в качестве параметра?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...