Hilfe mit Schienen link_to-und post-Methoden
Ich brauche Hilfe Zuordnung von Studierenden zu Chargen.. Sie sind in eine viele zu viele Beziehung.
<tbody>
<% Batch.all.each do |b|%>
<tr>
<td><%= b.course.name%></td>
<td><%= b.name %></td>
<td><%= b.section_name%></td>
<td><%= link_to "Add", student_batch_students_path(@student, :batch_id=> b.id), :method=> :post%></td>
</tr>
<%end%>
</tbody>
In meinem controller
def create
@batch_student = BatchStudent.new(params[:batch_student])
@batch_student.save
end
Meine Routen
resources :students do
resources :batch_students
end
resources :batches
Aber auf meine Datenbank schafft es mit student_id und batch_id als null
Welchen Fehler hast du bekommen?
Ich habe Hinzugefügt, weitere details zu dem original-Beitrag
Zeigen Sie Ihre
Warum dann ist es die Schaffung der BatchStudent aufnehmen?? (aber mit null-Werten)
Denn Ihre Frage war unklar
Ich habe Hinzugefügt, weitere details zu dem original-Beitrag
Zeigen Sie Ihre
student_batch
Aktion und Ihre RoutenWarum dann ist es die Schaffung der BatchStudent aufnehmen?? (aber mit null-Werten)
Denn Ihre Frage war unklar
InformationsquelleAutor ignaciofuentes | 2011-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aktualisieren Sie existieren batch, aber nicht erstellen, so sollten Sie
PUT
Anfrageupdate
Aktionin deinem link gibt es
student_batch_students_path(@student, :batch_id=> b.id)
was bedeutet, dass Sie habenb
Objekt. Oder du bist Total verpasstNatürlich habe ich das b-Objekt,... wie Sie sehen können, ist dieses innerhalb einer Tabelle, die ist Erstens zeigt alle Chargen und Ihr auch zeigen, das link_to ordnen Sie den Stapel an die Schüler
Oh. Sie haben
Batch
,Student
undStudentBatch
Modelle 😀Ich habe meine Antwort aktualisiert
InformationsquelleAutor fl00r
Den params-hash enthalten nicht
:batch_student
hash-denn Sie sind nicht die Vorlage aus einem Formular. Die params hat, sollte so Aussehen wie{"student_id" => 1, "batch_id" => 1, "method" => "post"}
.So, ändern, erstellen Sie Ihre Aktion wie folgt:
Der Vorteil des neuen ist, die Sie tun können eine
if @batch_student.save
auf Fehler überprüfen.Ich hoffe, das hilft.
verwenden
params.permit(:student_id, :batch_id)
zu avaoid.InformationsquelleAutor brettish
Die Parameter und die http-Methode sollte zusammen
{:batch_id=> b.id, :method=> :post}
InformationsquelleAutor pangpang