Ich versuche, eine App zu erstellen, in der wir Fragen stellen können und eine Frage viele Antworten haben. Also habe ich hier eine Eins-zu-viele-Assoziation verwendet. Jetzt habe ich zwei Modelle Frage Antwort und zwei Controller Fragen & Antworten. Ich habe ein Formular in den \ Fragen \ show.html.erbErstellen eines neuen Datensatzes in One-to-Many-Beziehung in Ruby auf Schienen
<%= form_for @answer, :url => "answer", :method => 'post' do |f| %>
<%= f.hidden_field :question_id, :value => @question.id %> #this i am not sure about
<%= f.text_area :content %>
<%= f.submit "SUBMIT" %>
<% end %>
Die Show-Methode in der Steuerung ist:
def show
@question = Question.find(params[:id])
@answers = @question.answers
@answer = Answer.new
end
ich auch Methode anlegen erstellt
eine Route zu Antworten Controllerpost 'questions/show/answer' => "answers#create"
Jetzt ist das Problem, dass die question_id als Zeichenfolge übergeben wird, aber ich möchte es als Ganzzahl übergeben, so dass ich es der aktuellen Frage zuordnen kann. Wie kann ich das tun, oder gibt es einen anderen Weg?
Ich habe das Formular in der Ansicht eines anderen Controllers laufen, dh; mein form_for (@answer) ist in Fragen show.html.erb Ansicht des Controllers .. betrifft das den Code, den Sie mir gerade gegeben haben –
Es sollte nicht. Probieren Sie die Create-Aktion im Antwort-Controller mit dem oben angegebenen Code aus. – Fiyin