Rubyを使ったインターネットアプリケーションのクローニングのtinycloneの例に従っており、mysqlに保存するオブジェクトを作成しようとしています。DataMapperはmysqlに保存できません。id = nilのオブジェクトを作成することはできません。
しかし、私はUrlオブジェクト(以下のコードを参照してください)を作成しようとすると、結果は常に "=> Url @ id = nil @ original =" http://www.gmail.com "@ link_identifier = nil "
IDは作成されず、データはデータベースに保存されません。 SQLデータベースへのリンクは、既にデータベースを削除してDataMapper.auto_migrateを使用して再作成しようとしたので正しいです!
誰でも手助けできますか?ありがとう。
DataMapper.setup(:default,'mysql://[email protected]/tinyclone')
class Url
include DataMapper::Resource
property :id, Serial
property :original, String, :length => 255
belongs_to :link
end
class Link
include DataMapper::Resource
property :identifier, String, :key => true
property :created_at, DateTime
has 1, :url
has n, :visits
end
DataMapper.finalize
url = Url.create(:original => 'http://www.gmail.com')
=> #<Url @id=nil @original="http://www.gmail.com" @link_identifier=nil>
どうやら私はリンクとlink_identifierを最初に作成する必要があります。 – revolver