ルートに問題があります.rb
私のWebアプリケーションには、ログインフォームのある2つのページがあります
「/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」ページにログインすると、「post_login」ではなく「create」が再度実行されることです。 "、 どうして?
「/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