Forum: Ruby on Rails Controller method that doesn't require a view

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
9f4a65c520a69cd357d830661e172272?d=identicon&s=25 JannaB (Guest)
on 2009-06-04 14:02
(Received via mailing list)
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
4ab2692ba129cb296d4f2e90ba5241da?d=identicon&s=25 Sandip Ransing (san2821)
on 2009-06-04 14:13
(Received via mailing list)
Do like this

   def my_method
# DO whatever here
render :nothing => true
   end

Sandip

On Thu, Jun 4, 2009 at 5:31 PM, JannaB <mistressjanna@hotmail.com>
wrote:

> some divs, etc). Is there a way to do this? Thanks, Janna B
> >
>


--
Ruby on Rails Developer
http://sandip.sosblog.com
http://funonrails.wordpress.com
www.joshsoftware.com
9f4a65c520a69cd357d830661e172272?d=identicon&s=25 JannaB (Guest)
on 2009-06-04 15:03
(Received via mailing list)
That's too easy! Oh, yeah....now I remember why I was turned on by
Rails. Thanks!
9f4a65c520a69cd357d830661e172272?d=identicon&s=25 JannaB (Guest)
on 2009-06-04 15:17
(Received via mailing list)
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
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-06-04 15:40
(Received via mailing list)
On Jun 4, 2:16 pm, JannaB <mistressja...@hotmail.com> wrote:
> 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
9f4a65c520a69cd357d830661e172272?d=identicon&s=25 JannaB (Guest)
on 2009-06-04 15:46
(Received via mailing list)
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

On Jun 4, 9:39 am, Frederick Cheung <frederick.che...@gmail.com>
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-06-04 16:00
(Received via mailing list)
On Jun 4, 2:44 pm, JannaB <mistressja...@hotmail.com> wrote:
> 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
68814ed988eee4f21b2cd07353e5e445?d=identicon&s=25 Mk 27 (mk27)
on 2009-06-04 16:34
JannaB wrote:
> 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 don't think that is so much because of rails but because that is a
consequence of submitting a form.  However, you could investigate what
Fred suggests or try

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

:)
81b61875e41eaa58887543635d556fca?d=identicon&s=25 Frederick Cheung (Guest)
on 2009-06-04 16:38
(Received via mailing list)
On Jun 4, 3:34 pm, Mk 27 <rails-mailing-l...@andreas-s.net> wrote:
>
> <% 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
8f6f95c4bd64d5f10dfddfdcd03c19d6?d=identicon&s=25 Rick Denatale (rdenatale)
on 2009-06-04 17:31
(Received via mailing list)
On Thu, Jun 4, 2009 at 10:37 AM, Frederick Cheung
<frederick.cheung@gmail.com> wrote:
>> form remains with nothing changed, but the controller does process the
>> form.
>
> You could even drop the  :update option completely.

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.
--
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale
This topic is locked and can not be replied to.