Button_to链路会导致路由错误



我正在尝试在我的rails应用程序上放置一些光滑的按钮作为链接。 但是,我在尝试这样做时遇到了一个奇怪的问题。 我尝试添加一个链接按钮,如下所示:

<%= button_to( "New", :action => "new", :controller => "registrations") %>

这将产生一个不错的新按钮,用于将我的用户定向到sign_up页面。

这就是它变得奇怪的地方:当我单击按钮时,我被路由到http://localhost:3000/users/sign_up并收到以下错误:

没有与 [POST] "/users/sign_up" 匹配的路由

但这根本不是真的。 实际上,我可以突出显示导致我出现该错误的URL,将其复制并将其粘贴到新选项卡中,然后加载正常。

为了绝对清楚,这是从rake routes开始的路径:

new_user_registration GET    /users/sign_up(.:format)       registrations#new

这里可能发生了什么?

任何想法都值得赞赏。

你的路由期望方法到达哪里,因为button_to'不应该发送 GET 请求,这就造成了问题。

您必须执行以下操作之一

1.将button_to更改为link_to

<%= link_to( "New", :action => "new", :controller => "registrations") %>

2.添加:method => :get

<%= button_to( "New", {:action => "new", :controller => "registrations"}, :method => :get) %>
默认情况下,

单击按钮会将POST请求发送到服务器。您应该更改此行为以发送GET

<%= button_to('New', {action: 'new', controller: 'registrations'}, method: :get) %>

相关内容

  • 没有找到相关文章

最新更新