0

我的 users_controller 有这些方法

  def follow_code
    @user = current_user
  end

  def followsubmit
    redirect_to root_path
  end

我的路线文件有

  match "follow_code" => "users#follow_code", :as => "follow_code"
  match "follow_code" => 'users#followsubmit', :as => "follow_code", :via => 'post'

我的 follow_code.html.erb 视图有

<%= form_tag(follow_code_path, :method => 'post') do %>
    <%= submit_tag("Submit") %>
<% end %>

然而由于某种原因,当我在我的视图上单击提交时,我从未被重定向到我的 root_path,而是重新渲染了 follow_code 视图。

我究竟做错了什么?谢谢。

4

1 回答 1

1

我也很好奇这个。我今天遇到了它,也使用了 match,我的解决方案是重命名 post 操作:

 match "follow_code" => "users#follow_code", :as => "follow_code"
 match "save_follow_code" => 'users#followsubmit', :as => "save_follow_code", :via => 'post'

但是,我使用条件属性来指定方法。在您的情况下,您可能只需要将第一个指定为获取。

match "follow_code" => "users#follow_code", :as => "follow_code", :via => 'get'
match "follow_code" => 'users#followsubmit', :as => "follow_code", :via => 'post'
于 2012-11-29T01:35:39.520 回答