0

バージョン:
Ruby 1.9.2p320
Rails 3.2.7

私とモデルhas_and_belongs_to_manyの両方で使用しています。関連付けは then で正しく保存されますが、 thenでは保存されません。また、とでは機能しません。問題が発生すると、結合テーブルに何も挿入されません。usersshowscreatenewsavebuildsavenewsaveshows_users

この作品:

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

これは機能しませんshows_users( when には挿入されませんsaved):

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

以下の IRB のスクリーンショットをご覧ください。

m.shows.create を使用すると、shows_users に挿入されます。

ここに画像の説明を入力

m.shows.new を使用して保存すると、shows_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 に答える