2012-06-27 53 views
0

我試圖在rails中找到特定模型屬性的值。下面是我在用戶控制器的「create」方法的代碼如下所示:從Rails中的模型中查找特定屬性的值

@user = User.find(1, :select => :money) 
existing_money = @user 
puts "#{existing_money}" 

在我的Heroku的日誌,我會看到下面的輸出,而不是的變體:錢整數針對特定用戶(含:身份證1)

#<User:0x00000004e7cbc0> 

有什麼想法?謝謝!

回答

1

由於existing_money只是您看到對象ID的對象。
正如你想要的金錢屬性,你也必須參考。

puts "#{existing_money.money}" 
+0

謝謝Michael! – dougiebuckets

2
@user = User.find(1, :select => :money) 

要設置與只有一個值,即money值的對象@user實例變量。現在,所有這些都會爲您節省幾個字節,通過忽略諸如id,email以及您在該表中的任何其他列。但它仍然會返回一個帶有屬性的對象,唯一的區別是對象只有一個要調用的屬性。

existing_money = @user 

鑑於@user仍然是一個單一的屬性的對象,你現在在existing_money局部變量保存這個對象。你可能想要做的是*只在該變量中存儲money屬性。

所以,你需要這樣的:

existing_money = @user.money 

puts "#{existing_money}" 

上述變更後,本puts語句應返回的屬性值,而不是對象封裝屬性。