我無法在數據庫中創建一行。 Rails顯然開始,然後立即回滾交易,沒有任何錯誤。我正在使用sqlite3。自動回滾沒有任何錯誤?
logger.debug("creating billing name...")
BillingName.create() #also tried BillingName.new.save
logger.debug("...created")
日誌文件:
creating billing name...
^[[1m^[[36m (0.1ms)^[[0m ^[[1mbegin transaction^[[0m
^[[1m^[[35m (0.1ms)^[[0m rollback transaction
...created
select * from billing_name
顯示確實沒有條目已被添加。我怎麼知道交易被拒絕的原因?
也許BillingName失敗驗證?嘗試將您的create語句更改爲'BillingName.create!',並查看Rails在日誌中引發的異常。 – ipd
「我怎麼知道交易被拒絕的原因?」這樣做:'BillingName.new(name:'blabla')'etc,並用'.valid?'測試它(也可以參考'.persisted?'來測試這個條目在數據庫中是否是savd) – MrYoshiji
嘗試'billing_name = BillingName.new; billing_name.save; console.log(billing_name.errors.inspect.to_s)'來查看錯誤是什麼。 – spullen