0
에 대한 등록 정보를 저장하지 않는 Datamapper 클래스는 다음과 같이 정의 :Datamapper, SQLite는이 데이터베이스
~ (0.024280) 표 "임시 직원을"CREATE :이 구문 SQLite는에 테이블을 생성
require 'rubygems'
require 'data_mapper'
require 'dm-core'
DataMapper::Logger.new($stdout, :debug)
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/db/eventdb.sqlite")
class Temp
include DataMapper::Resource
Event.raise_on_save_failure = true
property :id, Serial
property :temp1, String, :length => 50
property :temp2, String
property :temp3, String
property :created_at, Time
property :updated_at, Time
attr_accessor :temp1, :temp2, :temp3
class << self
end
end
VARCHAR (50), "temp3"VARCHAR (50), "created_at"TIMESTAMP, "updated_at"TIMESTAMP)
아직 정수가 아닌 정수가 아니라면, 이 코드를 실행하면 타임 스탬프 항목 이외의 빈 값을 가진 insert 문이 생성됩니다.
irb(main):001:0> @t = Temp.new
=> #<Temp @id=nil @temp1=nil @temp2=nil @temp3=nil @created_at=nil @updated_at=nil>
irb(main):002:0> @t.temp1 = "Test1"
=> "Test1"
irb(main):003:0> @t.dirty?
=> true
irb(main):004:0> @t.save
~ (0.002224) INSERT INTO "temps" ("created_at", "updated_at") VALUES ('2014-05 12T19:26:15.640051-04:00', '2014-05-12T19:26:15.639557-04:00')
=> true
내 속성 (이 경우 temp1이 데이터베이스에 저장되지 않는 이유)에 대한 의견이 있으십니까? 미리 감사드립니다.
감사합니다. 속성을 읽기/쓰기 가능하게 만들려면 attr_accessor가 필요하다고 생각했습니다. 다시 한번 감사드립니다. – jmtdev
나의 대답이 당신의 문제를 해결했다면 당신은 대답의 왼쪽에있는 녹색 진드기로 그것을 받아 들여야합니다. – ujifgc