我对 routes.rb 有疑问
在我的网络应用程序中,我有两个带有登录表单的页面
“/home/index”和“/users/index”
这是我的路线文件
controller :home do
get 'login' => :index
post 'login' => :create
end
controller :users do
get 'login' => :index
post 'login' => :post_login
end
get "home/index"
get "home/create"
get "home/show"
get "private/index"
get "users/index"
get "users/get_login"
get "users/post_login"
resources :users do
collection do
get 'get_login'
post 'post_login'
end
end
问题是,如果我在“home/index”中使用登录,它会执行主控制器的正确操作“create”,而如果我在“users/index”页面登录,它会再次执行“create”而不是“post_login” “, 为什么?
我在“/home/index”和“/users/index”中用于我的表单的代码是相同的......
这是简单的形式
<%= form_tag do %>
<table>
<tr>
<td>
<%= text_field_tag :name, params[:name] %>
</td>
</tr>
<tr>
<td>
<%= password_field_tag :password, params[:password] %>
</td>
</tr>
<tr>
<td>
<%= submit_tag "Login" %>
</td>
</tr>
<% end %>
<tr>
<td>
<%= link_to 'Registrazione', users_index_url %>
</td>
</tr>
</table>
用户控制器代码:
class UsersController < ApplicationController
def index
end
def post_login
redirect_to "http://www.google.it"
end
end