Ich habe meinen Code funktioniert, so dass ich eine Tabelle von Unternehmen habe. Es gibt ein Stiftsymbol, auf das Sie klicken können, um die Geschäftsinformationen zu bearbeiten. Die Bearbeitungsinformationen werden teilweise in einer modalen Popup-Box angezeigt. Das einzige Problem ist, dass sobald sie die gewünschten Änderungen vornehmen und auf "Aktualisieren" klicken, werden sie auf die Seite "Anzeigen" für dieses Geschäft gesendet. Ich möchte, dass die Popup-Box geschlossen wird und die Informationen aktualisiert werden. Dies ist meine Update-Funktion in meinem Controller.Schienen, Bearbeiten der Seitenaktualisierung in einem Fenster
def update
@business = Business.find(params[:id])
respond_to do |format|
if @business.update_attributes(params[:business])
flash[:notice] = 'Business was successfully updated.'
format.html { redirect_to(business_url(@business)) }
format.js
else
format.html { render :action => "edit" }
format.xml { render :xml => @business.errors, :status => :unprocessable_entity }
end
end
Ende
habe ich versucht, Railscast 43 folgende, und ich erstellt eine .rjs Datei, aber ich konnte sie nicht überhaupt zu arbeiten. Mein Update brachte mich immer noch auf die Show-Seite. Jede Hilfe wäre willkommen.
EDIT: Hinzugefügt mehr Code.
<% form_for(@business) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
...
<%= f.label :business_category %><br />
<%= f.select :business_category_id, @business_categories_map, :selected => @business.business_category_id %>
</p>
<p>
<%= f.label :description %><br />
<%= f.text_area :description %>
</p>
<p>
<%= f.submit 'Update' %>
</p>
<% end %>
Das ist meine Form Innenseite meiner Edit-Seite, die in einem Pop-up, indem sie durch den Index aufgerufen wird:
<div id="popupEdit<%=h business.id %>" class="popupContact">
<a class="popupClose<%=h business.id %>" id="popupClose">x</a>
<% if business.business_category_id %>
<% @business = business %>
<%= render "business/edit" %>
<% end %>
</div>
Sie können den Formularcode bitte in Ihrem Popup-Feld posten. –
Wer heutzutage zu dieser Frage kommt, sollte diese Antwort wirklich sehen (http://StackOverflow.com/a/5766232/306084), bevor er hier eine nachbearbeitet. – pjmorse