2
我在保存數據庫中的字符串時遇到問題。整數進展順利。我有一個模型Payment
與一個字段:命令(字符串)。這是從控制檯:Sinatra + SQLite + ActiveRecord(字符串無法保存)
p = Payment.new
p.command = 'test'
=> "test"
p.save
=> D, [2014-10-20T15:30:43.383504 #2229] DEBUG -- : (0.2ms) begin transaction
=> D, [2014-10-20T15:30:43.386985 #2229] DEBUG -- : (0.1ms) commit transaction
=> true
Payment.last
=> #<Payment id: 1, command: nil>
我的應用程序文件
require 'sinatra'
require 'activerecord'
require 'sinatra/activerecord'
set :database, 'sqlite3:qiwi_exline_development.sqlite3'
get '/' do
@payments = Payment.all
haml :index
end
class Payment < ActiveRecord::Base
include ActiveModel::Model
attr_accessor :command
end
我的模式
ActiveRecord::Schema.define(version: 20141020092721) do
create_table "payments", force: true do |t|
t.string "command"
end
end
有趣的時刻:如果我更改字符串模式到整數 - >整數值保存沒有任何問題。
從模型中刪除'attr_accessor'。對於'ActiveRecord'模型,getter和setter已經由'ActiveRecord'爲您的數據列生成。 'attr_accessor'不是必需的。 'attr_accessor' - 是控制'ActiveRecord'模型中批量分配的不贊成使用的方法。 – 2014-10-20 10:26:27
謝謝,問題太簡單了!請將您的評論作爲答案,以便我可以將其標記爲正確。 – 2014-10-20 12:02:38