2016-02-13 26 views
2

我想從應用程序助手中的rails方法返回一個對象(@state)以及true或false。Rails從行動中返回對象

我有一個名爲User的模型,它調用一個在應用程序助手中的動作。

class User 
include ApplicationHelper 

*****-----_******** 

    def user_state 
    user = self 
    state = get_state(user) 
    end 

end 
在應用程序了幫手

def get_state (user) 
@user = User.find(user.id) 
@state = UserState.where('user_id = ?',@user.id) 
if @state.present? 
    *** here I want to return @state along with true **** 
    return true 
else 
    return false 
end 
end 

我試過 '返回@state和真',沒有工作,但, '迴歸@state' 工作。

似乎對我來說,無論是對象還是布爾值都可以返回,而不是同時返回。

有什麼辦法可以返回他們兩個。先謝謝你。

回答

0

好了,我不知道一個「助手」是你所需要的在這裏,但是從一個紅寶石方法返回多個值是很容易的:

def myfun(x) 
    if x 
    [true, "one"] # or use return true, "one" 
    else 
    false 
    end 
end 

a, b = myfun(true) 
p a, b # prints true, "one" 

a, b = myfun(false) 
p a, b # prints false, nil 
+0

謝謝you.Worked :-) – Sravan