Dan Oved
2014-Jan-18 23:24 UTC
Let scaffold controller generators generate namespaced controllers for non-namespaced models
A common scenario is wanted to generate scaffold controllers within an admin namespace. When attempting to do this with the standard scaffold_controller generator, it assumes you are doing it for a namespaced model as well. Therefore, out of the box many of the generated code doesn't work. Lets say you run rails g scaffold_controller admin/users, for an existing model User that is not within a namespace. The resulting controller has the namespace correctly, but the model is namespaced too (not the desirable result): class Admin::UsersController < ApplicationController # code omited for demo purposes def create @admin_user = Admin::User.new(admin_user_params) respond_to do |format| if @admin_user.save format.html { redirect_to @admin_user, notice: 'User was successfully created.' } format.json { render action: 'show', status: :created, location: @admin_user } else format.html { render action: 'new' } format.json { render json: @admin_user.errors, status: :unprocessable_entity } end end end end There are multiple problems here - there is no model such as Admin::User, and furthermore redirect_to @admin_user would never work - the correct thing to do here would be: redirect to admin_user_path(@admin_user) We should be able to generate a namespaced controller with a different namespace for the model. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscribe@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at http://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/groups/opt_out.