У меня есть контроллер, который контролирует форму контакта на странице контактов. Внутри файла routes.rb
у меня есть строка, которая говорит match '/contact', :to => 'feedback#new'
. Теперь, когда форма заполнена правильно, все работает нормально; URL-адрес «/ контакт». Однако, когда форма не заполнена правильно, мой контроллер renders 'new'
и url изменяется от '/contact'
до '/feedback'
. Может ли кто-нибудь сказать мне, почему это происходит, и как я могу это исправить, так что если проверки будут инициированы и страница будет отображена, то URL будет /contact
, а не /feedback
? Благодаря!Rails: Почему пользовательский URL-адрес изменяется при вызове `render 'new``?
Мой код контроллера:
Вы можете просмотреть содержимое вашей 'конфигурации/routes.rb' файл? [Изменить] Код просмотра также поможет. Если вы используете 'form_for (@feedback)', когда сообщения формы, он делает POST для '/ feedback', так как Rails использует URL RESTful. Помните, что URL-адреса основаны на маршрутах к контроллерам и действиям, а не по имени отображаемого представления. 'FeedbackController # create', скорее всего, сопоставляется с'/feedback' (проверьте 'rake routes') –
Вы правы' FeedbackController # create' отображается на маршрут '/ feedback'. Итак, что мне делать, чтобы ответить на мой вышеупомянутый вопрос? – agentbanks217
Вы когда-нибудь это выясняли? Я борюсь с этим. – skaz