我有色器件的會話控制器的一個子類:軌道4 +設計+ AJAX:完成401未經授權
class SessionsController < Devise::SessionsController
respond_to :html, :js
def create
login_process do
super
end
end
private
def login_process
if !anonymous_user?
old_user = guest_user
end
yield
if user_signed_in?
current_user.cart.replace_cart_items!(old_user.cart.cart_items) unless old_user.cart.cart_items.empty?
end
end
end
而且,我從他們的網站上粘貼在其他頁上形成具有定製的登錄表單:https://github.com/plataformatec/devise/wiki/How-To:-Display-a-custom-sign_in-form-anywhere-in-your-app
<div class="log_in_div">
<h3>Log in</h3>
<%= form_tag session_path(:user), remote: true do %>
<div>
<%= label_tag 'user[email]', 'Email' %>
<%= text_field_tag 'user[email]' %>
</div>
<div>
<%= label_tag "user[password]", "Password" %>
<%= password_field_tag 'user[password]' %>
</div>
<%= check_box_tag 'user[remember_me]' %>
<%= label_tag 'user[remember_me]', 'Remember me' %><br>
<%= submit_tag "Log in" %>
<%= link_to "Forgot your password?", new_password_path(:user) %>
<% end %>
</div>
然而,當我通過瀏覽器提交表單,我得到這個:
Processing by SessionsController#create as JS
Parameters: {"utf8"=>"✓", "user"=>{"email"=>"gfdgdgd", "password"=>"[FILTERED]"}, "commit"=>"Log in"}
Completed 401 Unauthorized in 3ms
有誰知道發生了什麼事?