Custom REST action - template question


#1

Hallo phorum,

i have custom rest action.

routes.rb:
map.resources :schools, :collection => { :graduations => :get }

SchoolsController:
def graduations
@schools = School.graduation(true)
end

link somewhere in navigation:
<%= link_to ‘Schools with graduation’, graduations_schools_path %>

All works OK for me, but Rails needs (of course) a template for
controller action ‘graduations’:

Template is missing

Missing template schools/graduations.erb in view path blah blah blah…

But i need to use the template ‘index.html.erb’ instead of the new
template ‘graduations.html.erb’…

How to do this in Schools controller?
thanks,


Pavel Krusek

removed_email_address@domain.invalid


#2

Pavel Krusek wrote:

Hallo phorum,

i have custom rest action.

routes.rb:
map.resources :schools, :collection => { :graduations => :get }

SchoolsController:
def graduations
@schools = School.graduation(true)
end

link somewhere in navigation:
<%= link_to ‘Schools with graduation’, graduations_schools_path %>

All works OK for me, but Rails needs (of course) a template for
controller action ‘graduations’:

Template is missing

Missing template schools/graduations.erb in view path blah blah blah…

But i need to use the template ‘index.html.erb’ instead of the new
template ‘graduations.html.erb’…

How to do this in Schools controller?
thanks,


Pavel Krusek

removed_email_address@domain.invalid

class SchoolsController:
layout ‘mynewlayout’

def graduations
end
.
.

And it will use your custom layout called mynewlayout

Hope this helps.
Petr :wink:
(BTW: čus)


#3

Hi,

i thought the template for concrete action ‘graduations’, no template
for layout.

Solution:

def graduations
@schools = School.graduation(true)
render :action => “index”
end

I forgot direction ‘render’ :wink:

Thanks,

Pavel

Zdar :slight_smile:

2008/12/14 Petr B. removed_email_address@domain.invalid:

def graduations
Template is missing
Pavel Krusek


Pavel Krusek

+420 602 641 039
irb(main):001:0> ( ‘pavel.krusekATgmail._see_om’.gsub(‘see’,
‘c’).gsub(‘AT’, ‘@’) )