2016-05-12 36 views
0

我正在使用设计并设置了帮助器方法来检查是否有任何类型的用户登录。我有玩家和教练用户类型,current_player和current_coach是设计存在的方法。检查是否有任何类型的用户登录

这里是我的application_controller:

helper_method :current_account, :account_signed_in? 

def current_account 
    if @current_player 
    @current_account = current_player 
    elsif @current_coach 
    @current_account = current_coach 
    end 
end 

def account_signed_in? 
    current_account != nil 
end 

的球员和教练车型是用户模型的子模型。

class Player < User 
end 
class Coach < User 
end 

此作品(但前提是current_player):

def current_account 
@current_account = current_player 
end 

如果我删除从current_player和current_coach的@我得到一个错误:

wrong number of arguments (given 10, expected 2) 

回答

0

current_account住宿零因为你的条件和你的elsif条件都不是真的。这意味着@current_player@current_coach是零(或假)

+0

current_player(不带@)不是零,但在if语句我得到一个错误“错误的参数数目(10给出,预计2)”如果我删除@ – user2759575

+0

向我们展示更多代码:current_player和current_coach从哪里来? – Fred

+0

他们来自设计。我使用sti,玩家和教练是用户模型的子模型。 – user2759575