我有一个comic_books
表有很多问题,其中每个有author and illustrator
,目前仅存储为字符串。使用has_many:through
for comic_books来解决问题的效果很好,现在我试图找出如何为作者和插画师添加关联。Rails嵌套协会与first_or_create
问题是作者和插画家有时是同一个人。如果您点击插图画家,我希望看到他/她编写或说明的具体问题。如果我设置了has_one belongs_to association
,我只会获得插图或作者的音量结果,但我希望来自同一个“创作者”。
因此,这导致我试着creator
表,但我无法弄清楚如何放置关联。我想要一个创作者表,它将name
和creator_id
存储在作家和插图画家中。
然后我想打电话
issue.illustrator.first_or_create!('bob smith')
但是,这是不对的。 我不想独立的插图画家和作家表,因为他们每个人都有相同的名字。我需要进一步抽象出来,但我似乎无法弄清楚。
我想我想创建一个新的创建者记录(如果不存在),并将creator_id
存储在插图表中,以便我可以引用issue.illustrator.name,但名称值实际上在创建者表中。
难道只有更好的方法来完成整个任务吗?
我越想越想用“IS a”而不是“HAS a”这个词。作家是一个创作者,没有多少... 但是我还没有学到任何有关创建自定义rails继承的知识,但是,这是正确还是过度思考呢? – tehfailsafe 2013-04-11 05:44:20