Tôi có hai mô hìnhRails - build_association không làm việc cho một mối quan hệ has_one và belongs_to
class Subscription < ActiveRecord::Base
belongs_to :client
end
class Client < ActiveRecord::Base
has_one :subscription
end
nhưng khi tôi cố gắng để tạo ra một bố mẹ từ đứa trẻ ví dụ sub.build_client khoá ngoài không được đặt, ví dụ:
>> sub = Subscription.new
=> #<Subscription id: nil, token: nil, user_id: nil, created_at: nil, updated_at: nil, cancelled: nil, active: nil, client_id: nil>
>> sub.save(false);
?> client = sub.build_client
=> #<Client id: nil, server_id: nil, ip: nil, created_at: nil, updated_at: nil>
>> client.save(false)
=> true
>> sub.client_id
=> nil
>> sub
=> #<Subscription id: 4, token: nil, user_id: nil, created_at: "2010-01-11 06:07:45", updated_at: "2010-01-11 06:07:45", cancelled: nil, active: nil, client_id: nil>
Nó không làm việc nếu tôi làm client.build_subscription
?> client = Client.new
=> #<Client id: nil, server_id: nil, ip: nil, created_at: nil, updated_at: nil>
>> client.save(false)
=> true
>> sub = client.build_subscription
=> #<Subscription id: nil, token: nil, user_id: nil, created_at: nil, updated_at: nil, cancelled: nil, active: nil, client_id: 4>
>> sub.save(false)
=> true
>> sub
=> #<Subscription id: 5, token: nil, user_id: nil, created_at: "2010-01-11 06:09:32", updated_at: "2010-01-11 06:09:32", cancelled: nil, active: nil, client_id: 4>
>> client
=> #<Client id: 4, server_id: nil, ip: nil, created_at: "2010-01-11 06:09:02", updated_at: "2010-01-11 06:09:02">
>> ^C
Ive đã dành 3 tiếng đồng hồ loay hoay và cũng chẳng thể nhanh chóng. Bất cứ ai có thể giải thích những gì tôi đang làm sai, mọi thứ cần kiểm tra vv
cảm ơn john, tôi nghĩ đây là trường hợp (tôi đã tham khảo hướng dẫn đường ray nhưng không thể tìm thấy giải thích này vì vậy muốn xác nhận ở đây trên stackoverflow). Nhưng làm thế nào đi kèm với has_many thuộc về mối quan hệ này có thể được thực hiện. – robodisco
Tôi chỉ nghĩ rằng nếu nó không thể được thực hiện tại sao là phương pháp xây dựng ở đó? Nếu không thể đặt giá trị ngoại lệ cho phương thức đó trong mối quan hệ này? – robodisco
Đó là một câu hỏi hay. –