روبي على القضبان لديها الكثير من خلال مشكلة الصفيف
-
12-09-2019 - |
سؤال
أواجه مشاكل في إضافة إلى لديه الكثير من خلال جمعية باستخدام user_ids
.
نموذج الاتصال الخاص بي يشبه هذا:
class communication
has_many :recipients
has_many :users, :through => :recipients
end
في الإجراء الخاص بي لإجراء وحدة تحكم الاتصالات، أحاول إضافة يدويا user_ids
إلى كائن الاتصالات مثل ذلك:
@communication = new Communications(params[:communication])
@communication.user_ids << id
logger.debug @communication.user_ids # is empty
لا أستطيع العمل لماذا @communication.user_ids
مجموعة فارغة، حتى عندما أقوم بمعرف مشفرة بجد مثل ذلك:
@communication = new Communications(params[:communication])
@communication.user_ids << 1
logger.debug @communication.user_ids # is still empty!
ما زلت أحصل على فارغة @communication.user_ids
مجموعة مصفوفة.
هل أفتقد شيئا مع طريقتي؟ أي نصائح للحصول على هذا العمل؟
شكرا مقدما!
المحلول
لأنها has_many :through
, ربما تحتاج إلى توفير الكائنات الكاملة بحيث يمكن إنشاء العلاقة بسلاسة. جرب هذا:
@communication = Communication.new params[:communication]
@communication.users << User.find( 1 )
@communication.user_ids # should be [ 1 ]
لا تنتمي إلى StackOverflow