Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails自定义提交标签_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails Rails自定义提交标签

Ruby on rails Rails自定义提交标签,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,是否有方法控制表单中的*submit_标记*,以调用默认“update”操作的不同操作 我尝试使用下面的submit_标记,但它仍然将我重定向到people controller中的“更新”操作 <%= submit_tag "Save", :controller => "people", :action => "set_password", :method => "put" %> “人员”,:操作=>“设置密码”,:方法=>“放置”%> 我这么做的原因是, 我

是否有方法控制表单中的*submit_标记*,以调用默认“update”操作的不同操作

我尝试使用下面的submit_标记,但它仍然将我重定向到people controller中的“更新”操作

<%= submit_tag "Save", :controller => "people", :action => "set_password", :method => "put" %>
“人员”,:操作=>“设置密码”,:方法=>“放置”%>
我这么做的原因是, 我有两个Person类的更新表单,一个用于更新基本信息,另一个用于更新密码。我想以不同的方式处理提交的表格。 对于“更新密码表”,我必须做一些额外的事情。 *验证其他用户输入(当前密码) *如果出现错误,请直接转到“更新密码”表单


我做错了吗?或者我应该区分“更新”方法中的情况?

您必须告诉表单去哪里,而不是在
提交标签上:

<%= form_tag @object, url, :method => 'PUT' %>
”放置“%”

您可以有多个提交标签,但它们将转到同一个控制器。这个问题已经被回答了很多次了-请看这里的一个例子,这里已经回答了这个问题,谢谢james,那么用相同的“更新”方法处理不同的表单提交在ror中是一个好的结构吗?这是您唯一的选择!表单中不能有表单,正如@kain指出的,是表单声明决定了路径/路由/控制器操作,而不是提交按钮