18 Mart 2010, PERŞEMBE
Kullanarak raylar has_one bir dernek kurmak
Bu örnekte, hayır user
I. profile
, Daha sonra bu kullanıcı için profile
oluşturun. has_one
bir dernek kurmak ama o havaya uçurdu kullanarak denedim. Bu çalışma görüyorum tek yolu has_many
kullanıyor. user
12 ** en fazla olması beklenir.
Bu çalışıyordum. Var:
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
Ama ben ne zaman:
user.build_profile
Hata alıyorum:
ActiveRecord::StatementInvalid: Mysql::Error: Unknown column 'profiles.user_id' in 'where clause': SELECT * FROM `profiles` WHERE (`profiles`.user_id = 4) LIMIT 1
0 veya 1 çağrışım raylar bir yolu var mı?
CEVAP
18 Mart 2010, PERŞEMBE
build
yöntem imzası has_one
has_many
dernekler için farklıdır.
class User < ActiveRecord::Base
has_one :profile
has_many :messages
end
has_many
dernek kurmak için sözdizimi:
user.messages.build
has_one
dernek kurmak için sözdizimi:
user.build_profile # this will work
user.profile.build # this will throw error
Daha fazla ayrıntı için has_one
Derneği documentation okuyun.
Bunu Paylaş:
Kullanarak " koyuyorsun;sayfa özel...
Nasıl sütun Raylar geçiş kullanarak da...
kullanarak "raylar iskele oluştur...
Raylar ile kullanarak yazı varlık boru...
Where koşulunu kullanarak NOT NULL ray...