Datamapper две ассоциации одновременно

Допустим, у меня есть пост, этот пост должен иметь определенное количество комментариев, и эти комментарии должны быть созданы определенными пользователями. Итак, это мои модели datamapper:

class User
include DataMapper::Resource

property :id, Serial
property :name, String,
property :password, String

has n, :post
end

class Post
include DataMapper::Resource

property :id, Serial
property :text, Text
property :created_at, DateTime

belongs_to :user
end

class Comment
include DataMapper::Resource

property :text, Text,
property :created_at, DateTime

belongs_to :post
belongs_to :user
end

Итак, допустим, пользователь x создает сообщение, а пользователь y хочет создать комментарий к этому сообщению. Как мне это сделать тогда? Мне нужно что-то вроде этого:

user = User.get(sessions[:user_id])
post = Post.get(params[:post_id])
comment = post.user.Comment.new {
:text => "Bla",
[...]
}

[...]

comment.save

[...]

Итак, в основном сообщение о модели должно быть связано с комментарием к модели и сообщением о модели, как мне это понять?


person Micheal Perr    schedule 01.07.2012    source источник


Ответы (1)


person    schedule
comment
Должен ли я тогда менять модели или я могу оставить их такими, какие они есть сейчас? - person Micheal Perr; 01.07.2012