我的Users
中的每一個與Character
都有has_many
關係。現在,在他們可以使用應用程序之前,我需要他們先選擇一個角色作爲他們的主角,因此我想繼續將他們重定向到控制器顯示方法,直到他們選擇主角色。過濾器爲整個控制器分配異常之前
我的方法可行,但有人想要在選擇主要角色之前註銷,它會將它們重定向到member_path
。如何將devise
控制器添加到此規則的例外情況以及我的整個members
控制器中。
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :check_for_main
skip_before_filter :check_for_main, :only => [:members => :show, :users => :sign_out]
# Check if user has a main character selected
private
def check_for_main
# Check signed in user
if user_signed_in?
# Check associated characters if any are set as main
redirect_to member_path(current_user.id), :alert => "Please select your main character."
unless current_user.characters.any?(&:main)
end
end
end
end
我知道,我的問題是但是,我沒有用戶控制器。 – 2013-03-23 18:32:14
':sign_out'動作是什麼控制器的一部分? – 2013-03-23 18:48:43
它是我無法訪問的設備控制器的一部分。 – 2013-03-23 18:50:07