I have a template that is called by two different methods. I only want
part of it too show up when it is called from one of the methods. It
always shows up for me. Can someone help to point out my error? Below
is the method that should keep part of the tempate from printing, and
the relevent part of the template.
method:
def gallery
@product_pages,@products = paginate(:products, :per_page => 12,
:conditions => "sold != ''current''")
render( :template => "store/index",
:params => { :context => :gallery})
end
template:
<% unless params[:context] == :gallery -%>
<span id="product_price"><%= @products[0].price
%></span><br
/>
<span id="cart_link"> <%= link_to ''Add
to Cart'',
{:action => ''add_to_cart'', :id =>
product },
:class => ''addtocart'' %><br/>
</span>
<% end -%>
--
Posted via http://www.ruby-forum.com/.
Francois GORET
2005-Dec-19 07:26 UTC
Re: <% unless params[:context] == :gallery -%> question
Hello, in the controller, try: @context = :gallery render :template => "store/index" and in the template <% unless @context == :gallery -%> There''s a :locals option for render, but it seems that it works only for rendering partials. On Monday 19 December 2005 09:29, charlie bowman wrote:> I have a template that is called by two different methods. I only want > part of it too show up when it is called from one of the methods. It > always shows up for me. Can someone help to point out my error? Below > is the method that should keep part of the tempate from printing, and > the relevent part of the template. > > method: > def gallery > @product_pages,@products = paginate(:products, :per_page => 12, > > :conditions => "sold != ''current''") > > render( :template => "store/index", > > :params => { :context => :gallery}) > > end > > template: > <% unless params[:context] == :gallery -%> > <span id="product_price"><%= @products[0].price %></span><br > /> > <span id="cart_link"> <%= link_to ''Add to Cart'', > {:action => ''add_to_cart'', :id => product }, > > :class => ''addtocart'' %><br/> > > </span> > <% end -%>