私は Rails を初めて使用し、has_one と has_many の関係に戸惑っています。
USER と LOCATION の 2 つのモデルがあります。
各ユーザーには場所があり、LOCATION は多くのユーザーに属することができます。
というわけで、こんな感じで作成。
class User < ActiveRecord::Base
belongs_to :location
end
class Location < ActiveRecord::Base
has_many :users
end
新しいユーザーを作成して場所を保存したい場合、どうすればよいですか? これは方法ですか?
@user = User.new
@user.name = params[:name]
@loc = Location.new
@loc.zip = params[:zip]
@loc.save
@user.location = @loc
@user.save
これは正しくなく、私にとってはうまくいきません。ヘルプやポインタをいただければ幸いです。
Rails ブックでは、これらの関連付けの作成方法のみが指定されています。これらの関連付けでレコードを保存する方法についてではありません。