Domanda

Oh, così si prega di portare con me ... Ho un modello per le prenotazioni e un modello per i conducenti. Un driver ha molte prenotazioni e una prenotazione appartiene ad un driver.

Quando si aggiunge o si modifica una prenotazione, voglio che l'utente sia in grado di digitare il nome utente del driver. I nomi utente sono unici e più facile per l'utente finale che dare ogni pilota un numero.

Ora, questo è come ho fatto:

def create
  if params[:booking][:driver].empty? 
    params[:booking][:driver] = nil 
  else
    @driver = Driver.find(:first, :conditions => { :username => params[:booking][:driver] })
    params[:booking][:driver] = @driver
  end

Questo codice funziona bene per la presentazione, ma quando il form viene caricato, si vede il riferimento dell'oggetto (ad es. #) E ho bisogno di mostrare il nome utente. Come posso cambiare <% = f.text_field: il driver%>? Nel form_for nella vista edit per prendere il valore del nome utente driver

Sto andando su questo nel modo giusto, o c'è un morto facile, rotaie modo per fare quello che mi serve?

È stato utile?

Soluzione

"ma quando il form viene caricato" cosa vuoi dire quando non riesce a creare o quando si modifica? Puoi pubblicare pubblicare il tuo aggiornamento completo e creare azioni per favore.

params [: prenotazione] [: autista] = @ driver.username dovrebbe popolare il parametro con una stringa invece di un oggetto, anche se non sono sicuro che questo è davvero ciò che si vuole fare. Invece di impostazione a zero se il suo vuoto, basta lasciare in bianco, a zero, è un oggetto che forse il motivo per cui si sta vedendo il '#'

Che cosa stai facendo qui non mi sembra giusto, probabilmente più senso attaccare solo con la casella di selezione dei piloti in ogni caso, in cui il campo è il driver_id. Se davvero si vuole utilizzare una casella di testo, allora io ti aiuterò fuori? Basta inserire il codice prima.

Hai visto questo? Dovrebbe aiutare a guidare un po 'di più:

http://railscasts.com/episodes/57-create -model-through-text-campo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top