如果我在用戶控制器中創建一個用戶的實例變量,然後嘗試添加到一個字段數組,我可以看到它已被添加,但是當我去保存時,它會不救Rails bug?更新實例變量數組並不總是工作
@instructor = User.find(current_user.id)
@instructor.clients = @instructor.clients << User.last.id
@instructor.save
當我然後去撬,做完全相同的操作有一個實例變量我在撬創建,它不保存。爲什麼是這樣的,我怎樣才能讓它在控制器中工作?
數組字段是一個postgres數組數組。
定義「不保存」。你有錯誤嗎? 'save'是否返回'false'?記錄是否沒有出現在數據庫中?你是肯定的,你正在運行*完全*只有這三條線? –
不是您的問題的答案,但您可以使用'@instructor.clients << User.last_id'。賦值('@instructor.clients = @ instructor.clients << User.last_id')是多餘的。 – lurker
沒有錯誤,它返回true。實際上,當我在pry中時,我嘗試從控制器中保存實例變量,它將其保存爲try,但實際上並不保存該記錄。對我在pry中製作的實例變量進行同樣精確的操作,它會保存true並保存記錄 – user1149547