Schienen - Anzeigen Fremdschlüssel-Verweise, die in einer form
Mache ich eine einfache übung mit zwei Modellen. Sport und Teams, definiert als
rails g scaffold sport name:integer rails g scaffold team-name:integer-fans:integer sport:Referenzen
(Anmerkung: Der Grund, warum ich bin mit Gerüst ist Rapid prototyping, also kann ich lernen/Experimentieren mit den teilen bin ich mir nicht geläufig)
Problem ist, dass mein "sport" (also die foreign-key-Referenz) zeigt, wie die folgenden
So es hat ein komisches #<blahl blah>
notation...
<%= form_for(@team) do |f| %>
<% if @team.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@team.errors.count, "error") %> prohibited this team from being saved:</h2>
<ul>
<% @team.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :fans %><br />
<%= f.number_field :fans %>
</div>
<div class="field">
<%= f.label :sport %><br />
<%= f.text_field :sport %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Ich habe versucht, die Linien zu @team.sport.name
aber es führt zu einem Fehler undefined method 'Ice Hockey' for #<Team:0x3e7e040>
... Irgendwelche Ideen, wie man richtig Anzeige Namen von hier??
InformationsquelleAutor der Frage Ricky | 2013-05-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie mit einem
text_field
für den Verweis auf ein vorhandenes Objekt, einselect
mit Sport als Möglichkeiten wären hier besser geeignet.Dies ist, wo es verändert werden muss:
:
Den
f.select
generieren wird eine select-box in HTML, die Optionen werden mir alle die den Sport in Ihrer DB.Einige Dokumentationen darüber:
Sauberer wäre, um eine variable
@sports
im controller und rufen Sie es dann in Ihren Ansichten:Zusatzinformationen: Wenn Sie auf "pre-select" option für die wählen, Sie müssen übergeben Sie als zweites argument der
options_for_select
Helfer:InformationsquelleAutor der Antwort MrYoshiji