2010-03-23 7 views
0

Donc, je commence à travailler avec Rails et je comprends certains des concepts mais je suis coincé sur un important.Liaison Ruby On Rails de base Aide

Disons que j'ai des clients qui ont beaucoup d'emplois et d'emplois qui appartiennent aux clients.

Comment pourrais-je créer un nouveau travail pour un client?

Je peux créer un lien qui va vers customers/1/jobs/new et je peux saisir l'identifiant client, mais comment puis-je dire que je crée un travail pour le client 1? Je sais que c'est le plus basique des choses mais j'ai juste besoin d'un coup de pouce dans la bonne direction.

Ceci est ma forme à ce jour: Comment puis-je obtenir: customer_id à remplir avec le paramètre customer_id?

<h1>New job</h1> 

<% form_for(@job) do |f| %> 
    <%= f.error_messages %> 

    <p> 
    <%= f.label :customer_id %><br /> 
    <%= f.text_field :customer_id %> 
    </p> 
    <p> 
    <%= f.label :manufacturer %><br /> 
    <%= f.text_field :manufacturer %> 
    </p> 
    <p> 
    <%= f.label :serial_number %><br /> 
    <%= f.text_field :serial_number %> 
    </p> 
    <p> 
    <%= f.label :problem %><br /> 
    <%= f.text_area :problem %> 
    </p> 
    <p> 
    <%= f.label :notes %><br /> 
    <%= f.text_area :notes %> 
    </p> 
    <p> 
    <%= f.label :status %><br /> 
    <%= f.text_field :status %> 
    </p> 
    <p> 
    <%= f.label :tech_id %><br /> 
    <%= f.text_field :tech_id %> 
    </p> 
    <p> 
    <%= f.submit 'Create' %> 
    </p> 
<% end %> 

<%= link_to 'Back', jobs_path %> 

Répondre

2

Il suffit d'utiliser form_for([@customer, @job]), cela devrait générer les URL correctes (/customers/:customer_id/jobs etc). Vous pouvez ensuite extraire params[:customer_id] dans votre méthode JobsController.create.

+0

Merci d'avoir fait l'affaire! J'ai besoin de trouver un bon tutoriel solide, ROR est un tel changement de paradigme pour moi mais je trouve ça amusant à utiliser. – shaneburgess