A User
has_one
Account
. Quando si imposta attr_accessible
sul modello Utente è meglio proteggere :account
, :account_id
o entrambi?Rotaie attr_accessible: oggetto vs: object_id
attr_accessible :account
o
attr_accessible :account_id
o
attr_accessible :account, :account_id
mi sento come entrambi è la strada da percorrere (come è più sicuro), anche se si sente meno secca.
Update per dare più di fondo
solo per dare un po 'più di fondo su questo che sto chiedendo. Io, come la maggior parte dei ppl, ho visto cosa è successo a Github, quindi stiamo esaminando la nostra app e chiudendola un po 'più forte.
Nel processo di fare questo ho trovato prove in cui si passano in conto
User.create account: account
e dove siamo passati in account_id:
User.create account_id: account.id
mie opzioni erano a uno cambiamento essere tutti consistenti o modificare attr_accessible
per consentire entrambi. Ho deciso di cambiarli tutti per essere coerenti. Ma questo mi ha fatto preoccupare che forse stavamo usando entrambi i metodi in tutta la nostra app e potrei interrompere la nostra app consentendo solo l'uno o l'altro.
Ho parlato male quando ho detto che usare entrambi è più sicuro. E 'stata una lunga giornata.
Stai anche utilizzando 'accept_nested_attributes_for'? – tadman
Se la risposta alla mia domanda dipende dalla risposta alla tua, mi piacerebbe vedere il motivo e una risposta in entrambi i casi. – pcg79
Se si sta usando 'accept_nested_attributes_for: account', i binari cercheranno automaticamente di applicare e' params [: user] [: account_attributes] 'quando crea o aggiorna. In questo caso dovresti anche aggiungere 'attar_accessible: account_attributes' – rwc9u