需要一些建议。我正在做一个关于 RoR 的项目,不确定我应该使用模型之间的什么关系。我有三个模型——用户、板和消息。开头很简单:用户有一面墙,它属于用户,所以我猜应该是:
class User < ActiveRecord::Base
has_one :board
end
class Board < ActiveRecord::Base
belongs_to :user
end
最后一个模型是消息,我的问题来了。消息属于用户,因为他写了它,但它也属于墙,因为他把它写在墙上(它可以是属于其他用户的墙)。
我使用了简单的解决方案:
class Theme < ActiveRecord::Base
belongs_to :board
belongs_to :user
end
class User < ActiveRecord::Base
has_one :board
has_many :themes
end
class Board < ActiveRecord::Base
belongs_to :user
has_many :themes
end
但我对它并不满意,觉得它并不完美。我正在寻找一个解决方案,让我写出这样的想法:
user.themes.create(:board => @board)
(现在它不填充 user_id 字段)
我希望对于那些在 Ruby on Rails 模型方面比我更有经验的人来说这不是一项艰巨的任务。我会很感激好的建议,谢谢。