StudentsController extendeds my basic RESTful UsersController. Student is a named_scope in my User model.
I'd like the students controller to render templates in app/views/ users/, not app/views/students/. How can I do this DRYly without redefining all the methods in UsersController?
# entire students_controller.rb class StudentsController < UsersController protected def find_users @users = User.student.find(:all) end def find_user @user = User.student.find(params[:id]) end end
# relevant parts of users_controller.rb class UsersController < ApplicationController before_filter :find_users, :only => [:index] def index respond_to do |format| format.html # index.html.erb format.xml { render :xml => @users } end end #... other REST methods protected def find_users @users = User.find(:all) end def find_user @user = User.find(params[:id]) end end
When I GET /students... Template is missing Missing template students/index.html.erb in view path /Path/To/MyApp/ app/views
In StudentsController I tried: append_view_path("/Path/To/MyApp/app/ views/users")... Template is missing Missing template students/index.html.erb in view path /Path/To/MyApp/ app/views:/Path/To/MyApp/app/views/users
Any ideas? Is there a better approach entirely? Perhaps some magic routing?
Thanks!