Modelli: messaggi e UtentiRails 4 Strong Parametri - Manutenzione mancante Modello Parametri Hash
Messaggio belongs_to: utente
has_many utente: messaggi
semplice.
Supponendo che alcuni utenti esistano, visitiamo la pagina di modifica per un post.
<%= form_for @post do |f| %>
...
<% User.all.each do |user| %>
<div><%= f.radio_button "user_id", user.id %></div>
<% end %>
...
controller del Messaggio sfrutta Rails 4 parametri forti.
params.require(:post).permit(:user_id)
assumere la forma dopo modifica ha solo i pulsanti di opzione come campi.
Problema: Viene generata l'eccezione ActionController :: ParameterMissing. param non trovato: post
Il motivo dell'hac post param non viene mai creato, causando l'eccezione di cui sopra. I pulsanti di opzione vuoti, a differenza dei campi di testo vuoti, ad esempio, non attivano la creazione dell'hash param del modello.
Cosa succede se il modello Post richiede un ID utente valido? Certamente si vorrebbe rendere di nuovo la vista con il motivo per cui il Post non può essere salvato.
Domanda: Qual è un modo elegante per gestire questa situazione rispettando la convenzione di Rails?
UPDATE:
brainstorming su questo ulteriore, sono sicuro che ci sono probabilmente molte altre situazioni che generano questo problema; non corrisponde necessariamente ai pulsanti di opzione.
Ho un problema ancora più strano ...Ottengo lo stesso parametro non trovato per l'hash del modello, ma quello che sto testando è un form_for @user con due campi dell'utente e basta. il mio url capita di usare username e penserei che mancasse id o qualcosa del genere. ma ho un'altra parte del mio progetto che fa la stessa cosa. l'unica differenza è che ho creato questo modulo da zero piuttosto che attraverso l'impalcatura ... – dtc