Avatar billede haolan Nybegynder
02. marts 2009 - 16:22

Form til oprettelse i flere tabeller (RoR)

Hej

Jeg er ved at lave en opskrift side for at lære ruby on rails men er nu gået i stå ved en formular til at oprette opskrifter.

Jeg har tre tabeller:

Recipe: id, title, cooktime, created_by osv..
Ingredients: id, ingredient
Ingredientsrelation: recipe_id, ingredient_id

Relationerne er i orden i min model.

Jeg vil nu lave en form hvor man skrive ingredienserne adskilt med komma i et textarea og self de ting der hører til Recipe.

Når man opretter skal den så kontrollere om hver enkelt ingrediens eksisterer i forvejen og hvis ikke skal den oprettes. Derudover skal den oprette relationen og selve opskriften.

Hvordan laver jeg sådan en funktion?

Det jeg har lige nu ser sådan ud:

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

  <p>
    <%= f.label :title, "Titel: " %>
    <%= f.text_field :title %>
  </p>
  <p>
    <%= f.label :cooktime, "Tilberedningstid: " %>
    <%= f.text_field :cooktime %> (i min)
  </p>
  <p>
    <%= f.label :ingredients, "Ingredienser" %>
    <%= f.text_area :ingredients %> (Adskilt med komma)
  </p>

  <p>
    <%= f.submit "Create" %>
  </p>
<% end %>

<%= link_to 'Back', recipes_path %>

Jeg har ikke kunnet få det til at virke på den her måde, så jeg går ud fra jeg ikke kan bruge form_for(@recipe) til den her slags. Men hvad gør jeg så?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester