实例变量输出在视图中显示#<goal:0x007fd4734aa818>

时间:2017-08-17 09:46:43

标签: ruby-on-rails ruby function variables

我在我的应用中有这段代码

 current_general_goal = @current_user.goals.sum(:general_goal)     
 @general_goal =  current_general_goal.nil? ? 0 : current_general_goal

它为我提供了当前用户sum的{​​{1}}

我将代码更改为此内容,以查看current_user

的最后一个general_goal
general_goal

但是视图中的输出显示 current_general_goal = @current_user.goals(:general_goal).last @general_goal = (current_general_goal.nil? ? 0 : current_general_goal)

为什么?谷歌似乎不知道为什么,有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:0)

@current_user.goals(:general_goal).last.to_s

会回复你

#<Goal:0x007fd4734aa818>

意思是,你得到的是对象的字符串表示,而不是它的属性。

@current_user.goals(:general_goal).last更改为@current_user.goals(:general_goal).last.SOME_ATTRIBUTE会产生您需要的内容。