Hi all,
Im trying to implement redbox for submitting some small forms. Here's the code im using.
#redbox link <%= link_to_remote_redbox 'Change Password', :url => {:controller => :users, :action => :change_password, :id => @user.id}, :method => :get %>
#users controller
def change_password @user = User.find(params[:id]) respond_to do |format| format.html format.js {render :layout => "modal"} end rescue ActiveRecord::RecordNotFound permission_denied end
#modal layout
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Invoicing</title>
<link rel="stylesheet" href="/stylesheets/styles.css" type="text/css" media="screen" charset="utf-8" /> <%= javascript_include_tag :defaults %> <%= javascript_include_tag "redbox"%> </head> <body>
<%= yield %>
</body> </html>
#change_password.js.erb
<div id="hidden_content_<%=@user.id%>_users_change_password"> <% form_for :user, :url => changed_password_user_path(@user), :html => {:method => 'put'} do |f| %> <div>Old : <%= f.password_field :old_password, :size => 15 %></div> <div>New : <%= f.password_field :password, :size => 15 %></div> <div>Confirm : <%= f. password_field :confirm_password, :size => 15 %></div> <p><%= f.submit "Change" %></p> <% end %> <%= link_to_close_redbox "Cancel" %> </div>
Now when i click the link, the RedBox Overlay is shown but the form does not turn up. Only the overlay is shown. If i check the dev log, it says the action has been successfully called and the rendering has been done. What am i doing wrong here? Any ideas? My best guess is that the JS is screwing up things somewhere. Or, I could be doing something basically very wrong..