0

版本:
Ruby 1.9.2p320
Rails 3.2.7

has_and_belongs_to_many在我的usersshows模型中使用。关联可以正确保存,create但不能正确保存newthen save。也不适用于buildand save。问题出现了,new然后save它不会在shows_users连接表中插入任何内容。

这有效:

m = User.find_by_id(1)
m.shows.create()

这不起作用(不插入shows_userswhen saved):

m = User.find_by_id(1)
d = m.shows.new()
d.save

请参阅下面 IRB 的屏幕截图:

使用 m.shows.create 时插入到 show_users

在此处输入图像描述

使用 m.shows.new 时不插入到 show_users 然后保存

在此处输入图像描述

4

1 回答 1

2

您还必须保存用户m,因为您向该用户添加了新节目。

m.save

写信给shows_users

或尝试

u=User.find(1)
s=Show.new
s.users << u
s.save

(顺便说一句:所有测试都在rails console实际应用程序中进行。)

于 2013-05-29T16:52:04.477 回答