Question

Oh alors s'il vous plaît garder avec moi ... J'ai un modèle pour les réservations et un modèle pour les conducteurs. Un pilote a beaucoup de réservations et une réservation appartient à un pilote.

Lors de l'ajout ou la modification d'une réservation, je veux que l'utilisateur soit en mesure de saisir le nom d'utilisateur du pilote. Les noms d'utilisateur sont uniques et plus facile pour l'utilisateur final que de donner chaque pilote un certain nombre.

Maintenant, voici comment je l'ai fait:

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

Ce code fonctionne très bien pour la soumission, mais lorsque le formulaire est chargé, il montre la référence de l'objet (par exemple. #) Et je besoin pour afficher le nom d'utilisateur. Comment puis-je changer <% = f.text_field: pilote%>? Dans le form_for dans la vue de modifier pour prendre la valeur du nom d'utilisateur pilotes

Vais-je sur ce la bonne façon, ou est-il mort facile, rails façon de faire ce que je dois?

Était-ce utile?

La solution

« mais quand la forme est chargé » voulez-vous dire quand il ne parvient pas à créer ou lorsque vous modifiez? Pouvez-vous envoyer publier votre mise à jour complète et créer des actions s'il vous plaît.

params [: réservation] [: pilote] = @ driver.username doit remplir votre paramètre avec une chaîne au lieu d'un objet, bien que je ne suis pas sûr que ce soit vraiment ce que vous voulez faire. Au lieu de le mettre à zéro si son vide, il suffit de laisser le champ vide, nul est un objet qui peut-être la raison pour laquelle vous voyez le « # »

Qu'est-ce que vous faites ici ne semble pas juste, il est probablement plus logique de simplement coller avec la boîte de sélection des pilotes de toute façon, où le champ est le driver_id. Si vous voulez vraiment utiliser une zone de texte alors je vais vous aider? Il suffit de publier votre premier code.

Avez-vous vu cela? Il devrait aider à vous guider un peu plus:

http://railscasts.com/episodes/57-create -modèle-through-champ de texte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top