Formularverarbeitung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Formularverarbeitung

    Hallo ,
    ich möchte in meiner webseite das sich leute anmelden können und je nach dem in welcher Schule sie sind dann an die Seite ihrer Schule und ihr Abschlusshjahrgang weitergeleitet werden.
    Es soll mit dem Auswählen des Bundeslandes und der Stadt anfangen und mit dem Namen der Schule und dem Ablussjahr weitergehen. Ich weiß aber nicht wie ich das machen soll. Ich habe Tabellen für Schule, Bundesland, Abschlussjahr und Stadt angelegt. Aber wie kann ich das Abfragen mit nur einem formular machen oder hat da vielleicht einer eine andere Idee... Wäre echt froh darüber..
    ps: das ist meine erste Webseite die ich entwickle, falls euch die fragen irgendwie blöd vorkommen..
    lg nuna
  • Machst du deine erste Webseite gleich mit Ruby on Rails? Das freut mich =)

    Rails bietet dir die sogenannten FormHelper, also kleine Hilfs-Schnipsel zum Erstellen von Formularen. Je nachdem, ob du ein Model hast oder nicht, sind sie verschieden einzusetzen.

    Hier bekommst du einen guten Überblick: guides.rubyonrails.org/form_helpers.html

    Ich würde das ganze mit Ajax verknüpfen und die Selectboxen voneinander abhängig füllen, sodass sich die Menge der auswählbaren Items immer weiter verkleinert. Allerdings ist das nicht unbedingt was für Anfänger.

    Was hast du denn bisher gebaut?
  • <h1>Registrieren:</h1>
    Bis jetzt habe ich das Anmeldeformular hingegriegt.. Der Benutzer kann sich anmelden.. Aber dann muss es halt allle anderen Sachen auswählen und dann an die gewüschte Seite weitergeileitet werden. Wie gesagt, die Models habe ich auch, aber ob die Beziehungen zwichen den models richtig sind, das weiß ich nicht.


    Quellcode

    1. Anmelden:
    2. <% form_for :alumni do |f| %>
    3. <fieldset>
    4. <legend>Bitte Benutzerdaten eingeben</legend>
    5. <div>
    6. <%= f.label :name,'Name:'%>
    7. <%= f.text_field :name %>
    8. </div>
    9. <div>
    10. <%= f.label :vorname,'Vorname:'%>
    11. <%= f.text_field :vorname %>
    12. </div>
    13. <div>
    14. <%=f.label :gebDatum,'Geburtsdatum:' %>
    15. <%= f.date_select :gebDatum, :order => [:day, :month, :year],
    16. :start_year => (Time.now - 15.years).year,
    17. :end_year => 1930 %><br />
    18. </div>
    19. <div>
    20. <%= f.label :ort,'Ort:'%>
    21. <%= f.text_field :ort %>
    22. </div>
    23. <div>
    24. <%= f.label :bundesland,'Bundesland:'%>
    25. <%= f.text_field :bundesland %>
    26. </div>
    27. <div>
    28. <%= f.label :land,'Land:'%>
    29. <%= f.text_field :land %>
    30. </div>
    31. <div>
    32. <%= f.label :email,'email:'%>
    33. <%= f.text_field :email %>
    34. </div>
    35. <div>
    36. <%= f.label :password, 'Kennwort:'%>
    37. <%= f.password_field :pwd %>
    38. </div>
    39. <div>
    40. <%= f.submit "Registrieren" %>
    41. </div>
    42. </fieldset>
    43. <%end%>
    44. Login:
    45. <h1>Login:</h1>
    46. <fieldset>
    47. <legend>Bitte einloggen</legend>
    48. <%form_tag do %>
    49. <p>
    50. <label for ="name">Benutzername:</label>
    51. <%= text_field_tag :email, params[:email]%>
    52. </p>
    53. <p>
    54. <label for ="password">Kennwort:</label>
    55. <%= password_field_tag :pwd, params[:pdw]%>
    56. </p>
    57. <p>
    58. <%= submit_tag "Login" %>
    59. </p>
    60. <%end%>
    61. </fieldset>
    62. <p>
    63. <%= link_to 'Ich bin noch nicht registriert',{:action => 'add_alumni'},{:title => 'Registrieren'} %>
    64. </p>
    65. <%if flash[:error]%>
    66. <div class="flash_error"><%=flash[:error]%> </div>
    67. <%end%>
    68. </div>
    Alles anzeigen
  • Diese Abfrage hat aber mit dem was ich meine nicht zu tun. Sie ist für die Registrierung. Das heißt der aktuelle Wohnort des Benutzers.
    Die Abfrage die ich realisieren will, sind die Daten der ehemaligen Schule des Benutzers. Die Webseite ist für Absolventen gedacht damit sie Abitreffen Organisieren können.
    Also es soll die möglichkeit geben die Daten für die Schule anzulegen oder falls vorhanden auszuwählen. Was die Models betrifft, ich habe die Models School,City,Federelstate und
    Alumni .
  • OK.
    Du hast eigentlich mehrere Möglichkeiten.

    1. Du baust ein Formular über das Model Alumni auf. Das würde dann ca. so aussehen (ob das funktioniert?):

    Quellcode

    1. <%= form for :alumni, @alumni, :url => { :action => "create_year" } do |f| %>
    2. <%= f.label :graduationYear.school %>
    3. <%= f.select (:graduationYear.school, School.all.map{|school| [school.name, school.id])
    4. <% end %>


    2. Du baust ein Formular ohne direkten Bezug zu einem Model und kümmerst dich selbst darum was getan werden soll.

    Quellcode

    1. <%= form_tag(:controller => "alumni", :action => "create_year"} do %>
    2. <%= label_tag :graduationYear.school %>
    3. <%= select_tag ('graduationYear.school', School.all.map{|school| [school.name, school.id])
    4. <% end %>


    3. Du schaust dir mal NestedForms an. Scheint hier die eleganteste Lösung zu sein:
    jabberwocky.eu/2009/04/19/nested-forms-in-rails-23/