2014年7月18日金曜日

アソシエーションで作ったインデックスに値が入らない

 バカみたいにずっと考えていました。
 例えば、AuthorとBookが1:nの関係であるとき、Book.newしてもauthor_idに値が入らず困っていました。どこかでアクティブなauthor.idを拾って手動で突っ込むものと思っていたのですが、書式が全然違っていた。

 authorが決まった状態であれば、以下で正しくauthor_idが自動的に代入される。
@author = Author.find(1)
@book = @author.books.new
=> #<Book id: nil, name: nil, Author_id: 1, created_at: nil, updated_at: nil>
それにしても、テキストでこんなことしてたっけな。読み直すか。
 newの前がどうして複数形なのかもよくわからん。

頭悪過ぎだ。テキストを読んで理解できないし、例えわかっても次使うまでに忘れてしまう。ブログに書き留めてもあまり効果がないな…。

参考:
ActiveRecord の new と build の違い
Railsでの似たような言葉での違いメモ

0 件のコメント:

コメントを投稿