# How To: Remove a Partial

**URL:** <https://www.ruby-forum.com/t/how-to-remove-a-partial/91614>\
**Category:** Rails\
**Created:** [April 10, 2007, 9:28pm UTC](https://www.ruby-forum.com/t/how-to-remove-a-partial/91614 "2007-04-10T21:28:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![d6veteran](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/94ad74/32.png) [@d6veteran](https://www.ruby-forum.com/u/d6veteran)\
**Post date:** [April 10, 2007, 9:28pm UTC](https://www.ruby-forum.com/t/how-to-remove-a-partial/91614/1 "2007-04-10T21:28:42Z")

</div>

Right now I have a login partial that expands so the user can login.  
After the user logins in I want that partial to go away.

What is the recommended way of doing this?

---

<div class="post-metadata">

**Author:** ![d6veteran](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/94ad74/32.png) [@d6veteran](https://www.ruby-forum.com/u/d6veteran)\
**Post date:** [April 10, 2007, 10:00pm UTC](https://www.ruby-forum.com/t/how-to-remove-a-partial/91614/2 "2007-04-10T22:00:12Z")

</div>

You just need to check to see if they’re logged in. Usually you’ll have  
something in the session like this:

\<% unless session[:logged\_in] %\>  
\<%=render :partial =\>“login” %\>  
\<% end %\>

Something along those lines.

---

<div class="post-metadata">

**Author:** ![d6veteran](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/94ad74/32.png) [@d6veteran](https://www.ruby-forum.com/u/d6veteran)\
**Post date:** [April 10, 2007, 10:11pm UTC](https://www.ruby-forum.com/t/how-to-remove-a-partial/91614/3 "2007-04-10T22:11:38Z")

</div>

Brian H. wrote:

> You just need to check to see if they’re logged in. Usually you’ll have  
> something in the session like this:
> 
> \<% unless session[:logged\_in] %\>  
> \<%=render :partial =\>“login” %\>  
> \<% end %\>
> 
> Something along those lines.

I didn’t explain right.

Go to say [http://newsvine.com](http://newsvine.com) and try to login. When you select to  
login, an AJAX style element comes down to allow you to login. After  
you login, that element goes away. So if I render the partial “login”  
in the rjs template associated with my login action, how do I remove  
that template once they click the login button?

Do I just redirect them back to the home page? That doesn’t seem  
elegant as it requires refreshing the entire page.

---

<div class="post-metadata">

**Author:** ![d6veteran](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/94ad74/32.png) [@d6veteran](https://www.ruby-forum.com/u/d6veteran)\
**Post date:** [April 10, 2007, 10:27pm UTC](https://www.ruby-forum.com/t/how-to-remove-a-partial/91614/4 "2007-04-10T22:27:16Z")

</div>

Ahhh.  
your login form would be a form\_remote tag.  
Your controller that logs you in would render an rjs that does a  
page.remove"login\_form\_id" or whatever.

---

<div class="post-metadata">

**Author:** ![d6veteran](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/94ad74/32.png) [@d6veteran](https://www.ruby-forum.com/u/d6veteran)\
**Post date:** [April 10, 2007, 10:29pm UTC](https://www.ruby-forum.com/t/how-to-remove-a-partial/91614/5 "2007-04-10T22:29:17Z")

</div>

Keep in mind also that when you do that, you force users to have  
JS-enabled  
browsers. In my opinion, an app should still work if JS is disabled or  
not  
available.
