首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails表单触发错误操作

Rails表单触发错误操作
EN

Stack Overflow用户
提问于 2013-01-19 11:10:50
回答 1查看 586关注 0票数 1

我在同一视图中有几个表单,它们似乎相互冲突。我有一个表单,它应该调用用户控制器中的instead操作,但它调用的却是用户控制器中的logins操作。

下面是我的config/routes.rb:

代码语言:javascript
复制
get "logins" => 'users#logins', :as => 'logins'
delete "logins" => 'users#deletelogin', :as => 'logins'
post 'logins' => 'users#addlogin', :as => 'add_login'
get "logins" => 'users#search', :as => 'search'
get "logins" => 'users#reveal', :as => 'reveal'

下面是链接到错误操作的按钮:

代码语言:javascript
复制
<td><%= button_to "Reveal", { :controller => :users, :action => 'reveal', :id => login.id }, method: :get, :class => 'btn' %></td>

这是正在呈现的html:

代码语言:javascript
复制
<td><form action="/logins?id=24" class="button_to" method="post"><div><input class="btn" type="submit" value="Reveal" /><input name="authenticity_token" type="hidden" value="POKdWunwvaKQHb+Mzj/3UrG0xIbKPqELy4n3VGqGrxU=" /></div></form></td>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-19 11:16:40

所有三个get方法都映射到/logins url,因此行为是意料之中的。

get方法中使用的散列的第一部分定义了将在url中使用的实际路径。你必须做一些类似这样的事情:

代码语言:javascript
复制
get "logins" => 'users#logins', :as => 'logins'
get "search" => 'users#search', :as => 'search'
get "reveal" => 'users#reveal', :as => 'reveal'

才能达到预期的效果。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14410736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档