@results.each do |result|
pp result.driver.name # work
pp result.read_attribute('driver_name') # nil
pp result.read_attribute(:driver_name) # nil
end
有沒有什麼方法可以像read_attribute
那樣顯示?Rails如何使用`read_attribute`獲取關聯模型的屬性
@results.each do |result|
pp result.driver.name # work
pp result.read_attribute('driver_name') # nil
pp result.read_attribute(:driver_name) # nil
end
有沒有什麼方法可以像read_attribute
那樣顯示?Rails如何使用`read_attribute`獲取關聯模型的屬性
如果你想這樣做,無論如何,你可以使用delegate
在results
模型,如:
delegate :name, to: :driver, prefix: true
現在嘗試調用它,它應該返回相關的驅動程序的名稱。
result.driver_name
@Duanckham不要再爲你的英文道歉一次又一次:)通過實踐學習! –
@Duanckham不一定是唯一的方式,但這就是我現在可以想到的..如果你有任何錯誤,請告訴我。 –
如果它對你有效,請接受答案。 –
爲什麼你認爲你可以通過'driver_name'訪問驅動程序名?是否可以用下劃線連接對象訪問? –
read_attribute返回屬性的值,上面的代碼有什麼問題?它返回nil,因爲'result'沒有'driver_name'屬性或者它沒有? –
@SimonFranzen事實上,我只想寫一個例子來「說」我想要的東西。我的英語太糟糕了......所以如何動態地用一個字符串來讀取對象的值。 – Duanckham