我已經在我的Rails class_controller
以下兩種方法的不一致的行爲的應用程序:軌道4:基於4的ActiveRecord :: StatementInvalid與update_all()
結帳(), 簽入()
這兩種方法對數據庫的操作是相反的:checkout()
將字符串值插入到checkout
字段/列中,而checkin()
將字符串值從checkout
字段/列中移除。
的代碼在這兩種方法都是非常相似:
def checkout
@class = Class.where("id = ?", params[:class_id])
@class.update_all(":checkout" => "done blah blah")
end
def checkin
@class = Class.where("id = ?", params[:class_id])
@class.update_all(":checkout" => "") # set it empty or nil??
end
呼叫結帳()由URL映射完美的作品,但是,當所述檢入()方法引發以下錯誤。看起來像update_all
方法的行爲不一致:
PG :: UndefinedColumn:錯誤:柱:關係 「類」 的 「結帳」 不存在LINE 1:UPDATE 「類」 SET 「:結帳」= '' WHERE( ID = '1')^:UPDATE 「類」 SET 「:結帳」= '' WHERE(ID = '1')