Ich habe erfolgreich eine Ajax Anfrage für eine Show-Controller (Verlosung) gerendert. Im neuen Modal versuche ich einen Teil von einem anderen Controller (E-Mail) zu rendern, aber ich bekomme das neue Formular vom Verlosungs-Controller. Wenn ich im Terminal nachschaue, heißt es, dass ich die Verlosungen/_new und die E-Mails/_new rendere, aber das E-Mail-Formular wird nicht angezeigt. Hier ist die Klemme Info:Rails Rendering falsch Teil
Raffle Load (0.2ms) SELECT "raffles".* FROM "raffles" WHERE
"raffles"."id" = $1 LIMIT $2 [["id", 6], ["LIMIT", 1]]
Rendering raffles/show.js.erb
Rendered layouts/_errors.html.erb (0.5ms)
Rendered raffles/_form.html.erb (12.0ms)
Rendered emails/_new.html.erb (21.5ms)
Rendered raffles/_show.html.erb (37.5ms)
Rendered raffles/show.js.erb (51.3ms)
Meine Tombola Controller Show Aktion hat:
def show
@raffle = Raffle.find(params[:id])
@email = Email.new
end
Meine Show Ansicht:
<%= render '/emails/new', :locals => { :raffle_id => @raffle.id, :email => @email } %>
E-Mails/neu ist eine teilweise, die 'Form' macht und Form ist:
<%= form_for email do |f| %>
<%= f.text_field :email, :placeholder => "Your Email" %>
<%= f.hidden_field :raffle_id, :value => raffle_id %>
<%= f.submit "Enter", :class => 'btn-pop' %>
<% end %>
Für einige Grund, meine Show zeigt Verlosungen neue Form statt E-Mails neue Form. Könnte irgendjemand wissen, was vor sich geht?
Problem mit dieser, obwohl, bei Vorlage, gibt es keine Route, die [POST] "/ E-Mail/neu" entspricht. – ryanpback
Das Problem wurde gelöst, indem man "form_for '@' email,: url => new_email_path" zu "form_for '@' email,: url => emails_path" – ryanpback