Assoziation hinzufügen (<<) ohne Commit zur Datenbank

Ist es in Rails möglich, einer. Eine Assoziation hinzuzufügen?bestehender aufzeichnen, ohne diese Änderung sofort in die Datenbank zu übernehmen? Z.B. wenn ich post habe has_many: tags

post.tags << Tag.first

Dies wird sofort in die Datenbank übernommen. Ich habe andere Wege als << ausprobiert, aber ohne Erfolg (ich möchte die Zuordnung beim Speichern des übergeordneten Objekts erstellen). Ist es möglich, ein Verhalten wie beim Hinzufügen einer Verknüpfung zu einem neuen Datensatz mit Build zu erhalten?

post.tags.build name: "whatever"

Ich denke, dies ist in Rails etwas inkonsistent. In einigen Fällen wäre es nützlich, eine Option zu haben, um dies zu tun.

Mit anderen Worten, ich will

post.tags << Tag.first # don't hit the DB here!
post.save # hit the DB here!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage