Rails从动作返回一个对象

时间:2016-02-13 08:01:12

标签: ruby-on-rails

我想在应用程序助手中从rails方法返回一个对象(@state)以及true或false。

我有一个名为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和true'没有工作,但是,'返回@ state'工作

在我看来,无论是对象还是布尔值都可以返回,而不是同时返回。

有没有办法归还他们两个。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

好吧,我不确定" Helper"这是你需要的,但从ruby方法返回多个值非常简单:

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