Folks, I am trying to use the Savage Beast plugin in a polymorphic way. I have setup my model as below # Leaving out other details from models class Forum < ActiveRecord::Base has_one :recent_topic, :class_name => ''Topic'', :order => ''sticky desc, replied_at desc'' belongs_to :forum_owner, :polymorphic => true # Helps keep track of which entity owns this forum end class Topic < ActiveRecord::Base belongs_to :forum end class School < ActiveRecord::Base has_many :forums, :as => :forum_owner end Now in the index.html.erb for forum I had the following line <%= link_to t(:view), forum_topic_path(:forum_id => forum, :id => forum.recent_post.topic_id, :page => forum.recent_post.topic.last_page, :anchor => forum.recent_post.dom_id) %> This line generates "http://127.0.0.1:3001/forums/1/topics/1? page=1#posts-1" as the url. To make it polymorphic, I need the schools in the url so the url needs to change to "http://127.0.0.1:3001/ schools/1/forums/1/topics/1?page=1#posts-1". So I replaced the above line with <%= link_to t(:view), polymorphic_path([@forum_owner, forum, forum.recent_topic], :page => forum.recent_post.topic.last_page, :anchor => forum.recent_post.dom_id) %> @forum_owner and other variables are properly initialized. But this gives the error --> undefined method `school_forum_topic_path'' for #<ActionView::Base:0xaadcc08> Apparently the school_forum_topic_path doesn''t get generated. How do I make sure that school_forum_topic_path function call gets generated to return the right path? In other words, how do you generate a multilevel polymorphic path? Savage Beast plugin adds the following to the routes.rb # Savage beast routes BEGIN map.resources :posts, :name_prefix => ''all_'', :collection => { :search => :get } map.resources :forums, :topics, :posts, :monitorship %w(forum).each do |attr| map.resources :posts, :name_prefix => "#{attr}_", :path_prefix => "/#{attr.pluralize}/:#{attr}_id" end map.resources :forums do |forum| forum.resources :topics do |topic| topic.resources :posts topic.resource :monitorship, :controller => :monitorships end end # Savage beast routes END map.resources :schools, :has_many => :forums # <------------ I added this line Thanks for your help, -S -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.