2012-05-30 6 views
0

новое для веб-разработки, здесь. У меня есть такая форма:Rails 3, make submit call специфическая функция в контроллере

<form name="myForm" id="myForm" method="post" > 

     <select id="id" name="foo"> 
     ...some stuff 
     </select> 

     <input type="submit"/> 
</form> 

Кнопка отправки вызывает метод «index» моего контроллера, как и ожидалось. Я хотел бы заставить его вызвать некоторую другую функцию, такую ​​как «обновление», как мне это сделать? Мне нужно что-то сделать с хэшем @_params, но я не хочу ссылаться на функцию индекса, чтобы сделать это. Благодарю.

+0

Вы должны включить код представления для создания вышеуказанного HTML. –

ответ

0

Вы не указали логику вида, поэтому я собираюсь сделать удар в темноте и угадать, что вы пишете HTML для формы, а не с помощью помощников RoR.

В рельсах есть набор помощников, которые помогут вам создавать формы и формы элементов.

Пожалуйста, проверьте документацию для form_for

Использование form_for будет следовать основным успокоительный маршрутизации, если не изменить параметр URL. Поэтому, если вы вкл/вы, вы будете перенаправлены в/create, если вы находитесь в/edit, вы будете перенаправлены в/update. Точнее, если объект новый, вы отправите его для создания, если модель существует, вы отправите ее для обновления.

Если ваша форма не использует модель, вы можете использовать вспомогательный помощник form_tag, который принимает параметр url, и вы можете передать строку, определяющую, к какому пути отправить.

Если вам просто нужно знать, как это сделать в простом HTML, прочитайте this. По сути, вам нужно включить атрибут действия в форму, которая указывает путь к действию, которое вы хотите отправить.

Смежные вопросы