Pergunta

Oh por isso, tenha comigo ... Eu tenho um modelo para reservas e um modelo para os motoristas. Um motorista tem muitas reservas e uma reserva pertence a um motorista.

Ao adicionar ou editar uma reserva, eu quero que o usuário seja capaz de digitar o nome de usuário do controlador. Nomes de usuários são únicos e mais fácil para o usuário final do que dar cada piloto um número.

Agora, é assim que eu tê-lo feito:

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

Este código fino trabalha para a apresentação, mas quando o formulário é carregado, ele mostra a referência do objeto (por exemplo. #) E eu preciso dele para mostrar o nome de usuário. Como posso alterar <% = f.text_field: motorista%>? Na form_for na visualização de edição para tirar o valor dos motoristas nome de usuário

Am I lidando com isso da maneira certa, ou há uma fácil mortos, trilhos maneira de fazer o que eu preciso?

Foi útil?

Solução

"mas quando o formulário é carregado" você quer dizer quando ele não consegue criar ou quando você está editando? Você pode postar postar sua atualização completa e criar ações agradar.

params [: reserva] [: motorista] = @ driver.username deve preencher o parâmetro com uma corda em vez de um objeto, embora eu não estou certo de que este é realmente o que você quer fazer. Em vez de defini-lo como nulo se o seu em branco, basta deixar em branco, nulo é um objeto que talvez por isso que você está vendo o '#'

O que você está fazendo aqui não parece certo, ele provavelmente faz mais sentido ficar com a caixa de seleção de motoristas de qualquer maneira, onde o campo é o driver_id. Se você realmente quiser usar uma caixa de texto, então eu vou ajudá-lo? Basta postar seu código em primeiro lugar.

Você já viu isso? Deve ajudá-lo um pouco mais:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top