Rails 3,在控制器中进行提交调用特定功能

时间:2012-05-30 23:07:41

标签: html ruby-on-rails submit

这是Web开发的新手。我有一个这样的表格:

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

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

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

提交按钮按预期调用控制器的“索引”方法。我想让它调用其他一些功能,比如'update',我该怎么做?我需要用@_params哈希做一些事情,但我不想调用索引函数来做。谢谢。

1 个答案:

答案 0 :(得分:0)

你没有包含视图逻辑,因此我将在黑暗中进行尝试,并猜测你正在为表单编写HTML而不是使用RoR助手。

在rails中,有一组帮助程序可以帮助您生成表单和表单项。

请查看form_for

的文档

除非您修改url参数,否则使用form_for将遵循基本的restful路由。因此,如果您处于/新状态,您将被路由到/创建,如果您正在/编辑,您将被路由到/更新。更准确地说,如果对象是新的,您将提交创建,如果模型存在,您将提交更新。

如果您的表单不使用模型,您可以使用带有url参数的form_tag助手,您可以传递一个字符串,指定要提交的路径。

如果您只需要知道如何在纯HTML中执行此操作,请阅读this。实质上,您需要在表单上包含一个action属性,该属性指定要发布到的操作的路径。