A User
has_one
Account
. Khi thiết lập attr_accessible
trên Mô hình người dùng, tốt hơn là bảo vệ :account
, :account_id
hoặc cả hai?Đường ray attr_accessible: đối tượng vs: object_id
attr_accessible :account
hoặc
attr_accessible :account_id
hoặc
attr_accessible :account, :account_id
tôi cảm thấy như cả hai là con đường để đi (vì nó là an toàn hơn) mặc dù nó cảm thấy ít DRY.
Update để cung cấp thêm nền
Chỉ cần để cho một chút nền thêm về lý do tại sao tôi yêu cầu. Tôi, giống như hầu hết các ppl, thấy những gì đã xảy ra với Github vì vậy chúng tôi đang đi qua ứng dụng của chúng tôi và khóa nó xuống một chút chặt chẽ hơn.
Trong quá trình thực hiện điều này tôi thấy các xét nghiệm trong đó chúng ta vượt qua trong tài khoản
User.create account: account
và nơi chúng tôi đi qua trong ACCOUNT_ID:
User.create account_id: account.id
lựa chọn của tôi là một trong hai thay đổi tất cả chúng đều là đồng nhất hoặc thay đổi attr_accessible
để cho phép. Tôi quyết định thay đổi tất cả để trở thành người kiên định. Nhưng điều này khiến tôi lo lắng rằng chúng tôi có lẽ đang sử dụng cả hai phương pháp trong suốt ứng dụng của mình và tôi có thể phá vỡ ứng dụng của chúng tôi bằng cách chỉ cho phép một ứng dụng hoặc một ứng dụng khác.
Tôi đã làm lỗi chính tả khi tôi nói sử dụng cả hai đều an toàn hơn. Đó là một ngày dài.
Bạn có đang sử dụng 'accept_nested_attributes_for' không? – tadman
Nếu câu trả lời cho câu hỏi của tôi phụ thuộc vào câu trả lời cho câu hỏi của bạn, tôi rất muốn xem lý do và câu trả lời trong cả hai trường hợp. – pcg79
Nếu bạn đang sử dụng 'accept_nested_attributes_for: account' thì đường ray sẽ tự động thử áp dụng và' params [: user] [: account_attributes] 'khi nó tạo hoặc cập nhật của bạn. Trong trường hợp này, bạn cũng sẽ cần phải thêm 'attar_accessible: account_attributes' – rwc9u