Controller method that doesn't require a view

I need to be able to write a controller method that does nothing to the view. That is, when the method in the controller terminates, I dont get an error in the browswer of:

Template is missing Missing template blahbal/blahblah.erb in view path blah/views

The termination of the controller I must write does nothing to the view (actually, I merely need to execute a little javascript, closing some divs, etc). Is there a way to do this? Thanks, Janna B

Do like this

def my_method

DO whatever here

render :nothing => true

end

Sandip

That's too easy! Oh, yeah....now I remember why I was turned on by Rails. Thanks!

Actually...it DOES render nothing (as it says!). This just leaves me with a blank, white screen! I really need to have it DO nothing, and really RENDER nothing....just return from the controller's method without doing anything different to the view. -Janna B

Actually...it DOES render nothing (as it says!). This just leaves me with a blank, white screen! I really need to have it DO nothing, and really RENDER nothing....just return from the controller's method without doing anything different to the view. -Janna B

I'm not entirely sure what you are after if render :nothing doesn't fit. What are you expecting the http response to contain ?

Fred

I have a submit button on a form, which is in a div. When submitted, an email is sent, the div closes, all else remains the same in the view. Im just having a hard time in my mind fitting this into the Rails MVC paradigm here. How can I do this? -Janna

I have a submit button on a form, which is in a div. When submitted, an email is sent, the div closes, all else remains the same in the view. Im just having a hard time in my mind fitting this into the Rails MVC paradigm here. How can I do this? -Janna

so you should be doing an ajax form submit that renders some javascript to close the div and so on.

Fred

<% form_remote_tag :update => 'dud', :url => {:action => 'the action'} do%>

I just tried this and nothing complains if you try to update a non-existent page element ('dud'), so that will work. The page with the form remains with nothing changed, but the controller does process the form.

You could even drop the :update option completely.

Fred

Although, the OP actually said "The termination of the controller I must write does nothing to the view (actually, I merely need to execute a little javascript, closing some divs, etc). "

Which seems self-contradictory, if you take view as being what the end-user sees. If there are divs to be closed, or whatever, DOM changes need to be effected.

So I think one or more callbacks (:success, :failure, :complete) are needed to close/hide those divs, and perhaps some rendered javascript from the request if what needs to be done depends on server state as a result of the request.