In Rails 3, è stato possibile inserire un attributo in params in questo modo:Rails 4: Inserire Attributo Into Parametri
params[:post][:user_id] = current_user.id
sto cercando di fare qualcosa di simile in Rails 4, ma che non hanno la fortuna:
post_params[:user_id] = current_user.id
. . . .
private
def post_params
params.require(:post).permit(:user_id)
end
Rails ignora questo inserimento. Non commette errori, fallisce tranquillamente.
Grazie, avevo bisogno di usare deep_merge, perché i miei attributi sono annidati ... – stephenmurdoch
@marflar hai usato 'deep_merge' nel costruttore params? O altrove nel controller? –
Questo è come lo faccio anche io ma continuo a pensare che ci debba essere un modo per ASCIUGARCI un po '. Tutti i miei 50+ controller hanno un'istruzione .merge simile nella zona strict params. Nel mio caso unisco current_user in update_by. Unisco current_user in created_by solo nel metodo create. – Dan