Rails, Edit page update in a window

Posted by Mike on Stack Overflow See other posts from Stack Overflow or by Mike
Published on 2009-07-06T20:03:23Z Indexed on 2010/03/19 12:01 UTC
Read the original article Hit count: 268

Filed under:
|
|
|

I have my code working so that I have a table of businesses. There's a pencil icon you can click on the edit the business information. The edit information comes up in a partial inside of a modal pop up box. The only problem is that once they make the changes they want and click update, it sends them to the 'show' page for that business. What I want to happen is have the pop up box close and have it update the information. This is my update function in my controller.

 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

end

I tried following railscast 43 and i created an .rjs file but I couldn't get that to work at all. My update was still taking me to the show page. Any help would be appreciated.

EDIT: Added some more 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 %>

This is my form inside of my edit page which is being called through the index in a pop up by:

<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>

© Stack Overflow or respective owner

Related posts about ruby-on-rails

Related posts about popup