Schienen fields_for form nicht auftauchen, verschachtelte form
Erstellt habe ich eine einfache rails-Projekt. Alles funktionierte gut, bis ich versuchte, Sie zu hinzufügen eines neuen Modells Paintings
dass belongs_to
Behandlung und eine Patient
dass has_many
Gemälde durch die Behandlung. Also irgendwie ist die geschachtelte form, die ich geschaffen, nicht zeigen, bis, ich glaube, es hat zu tun mit dem controller! Vielen Dank und Grüße aus Deutschland!
Behandlungen controller:
class TreatmentsController < ApplicationController
def create
@patient = Patient.find(params[:patient_id])
@treatment = @patient.treatments.create(params[:treatment])
redirect_to patient_path(@patient)
end
def destroy
@patient = Patient.find(params[:patient_id])
@treatment = @patient.treatments.find(params[:id])
@treatment.destroy
redirect_to patient_path(@patient)
end
end
Und das Formular für die Behandlungen mit nested fields_for
, die nicht zeigen, bis auf:
<%= form_for([@patient, @patient.treatments.build]) do |f| %>
<div class="field">
<%= f.label :content %>
<%= f.text_area :content, :cols => "30", :rows => "10" %>
</div>
<div class="field">
<%= f.label :category_id %>
<%= f.collection_select :category_id, Category.find(:all), :id, :typ %>
</div>
<%= f.fields_for :paintings do |ff| %>
<div class="field">
<%= ff.label :name, 'Tag:' %>
<%= ff.text_field :name %>
</div>
<% end %>
<div class="field">
<%= f.submit nil, :class => 'btn btn-small btn-primary' %>
</div>
<% end %>
UPDATE:
Zeigen Website:
<% @patient.treatments.each do |treatment| %>
<tr>
<td><%= treatment.category.try(:typ) %></td>
<td><%= treatment.content %></td>
<td><%= treatment.day %></td>
<td><div class="arrow"></div></td>
</tr>
<tr>
versuchen f.fields_for :Gemälde, Malerei.neue do |m|. Auch kann u post die Modelle, code und controller-code in mehr details?
haha Ihr die besten!! Ich versuchte es zwei Tage und jetzt machte Sie es nur mit einem kleinen Biss hinzufügen von code! Bewegen Sie bitte Ihren Kommentar auf eine Antwort, so dass ich es auf die richtige Antwort!
haha Ihr die besten!! Ich versuchte es zwei Tage und jetzt machte Sie es nur mit einem kleinen Biss hinzufügen von code! Bewegen Sie bitte Ihren Kommentar auf eine Antwort, so dass ich es auf die richtige Antwort!
InformationsquelleAutor Em Sta | 2013-06-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte versuchen
ich wirklich nicht haben eine Ahnung von der Modell-Beziehungen oder die Felder. kann u pls fügen Sie diese?
Ich hoffe, mein update ist ausreichend?
auf das Verzeichnis/Liste Seite, u wollen, um zu zeigen, das Gemälde von Namen?
nicht auf die Behandlung Seite? ist das möglich?
InformationsquelleAutor prasad.surase
Selbst die Frage ist schon ziemlich alt, aber Ihnen fehlen die
new
von entscheidender Bedeutung ist diese Frage. Die Methodendestroy
undcreate
hat nichts mit diesem Problem. Wenn Sie einenew
Methode, die wie folgt aussieht:Dann die Lösung wäre, tun, ändern Sie die
new
Methode zu "bauen", diepaintings
wie diese:ja, aber diese demo-codes hat keine
.build
Aktion 🙁 github.com/nathanvda/cocoon_simple_form_demo/blob/master/app/...Was meinst du mit
they don't have build action
? Ich meine, es sollte nicht die build-Aktion. Diebuild
ist nur eine Methode für das Objekt.InformationsquelleAutor Aleks
Versuchen Sie folgenden neuen Aktion im controller
Check-out build_association Teil http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-belongs_to
Lesen Sie auch über die verschachtelten Attribute.
Verwenden Sie diese Referenz,
http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html
dies ist eine falsche syntax. versuchen
@patient.treatments.build
InformationsquelleAutor Mike Szyndel