不要在Datamapper中使用行为

时间:2011-07-18 08:50:51

标签: ruby datamapper

我和Sinatra一起工作。这是我的模特。

class Post
  include DataMapper::Resource
  property :id, Serial
  property :title, String
  property :body, Text
  property :posted, Boolean, :default  => true

  has n, :comments
  has n, :tags
end

class Comment
  include DataMapper::Resource
  property :id, Serial
  property :user, String
  property :body, Text
  property :posted, Boolean, :default  => false

  belongs_to :post
end

class Tag
  include DataMapper::Resource
  property :id, Serial
  property :tag, String
  property :weight, Integer, :default => 1

  belongs_to :post
end

创建帖子

tags = params[:tags].split(' ')
post = Post.new(:title=>params[:title],:body=>params[:body])
tags.each { |tg|
  post.tags << Tag.create(:tag=>tg)
}
redirect '/admin' if post.save

但没有标签。我需要修理什么?

1 个答案:

答案 0 :(得分:0)

如果您使用一对多关系,则应创建:post设置为post的代码:

tags.each { |tg|
  Tag.create(:tag => tg, :post => post)
}