En mi aplicación, solo los usuarios con la función de administrador pueden crear nuevos usuarios. En el nuevo formulario de usuario, tengo un cuadro de selección para cada uno de los roles disponibles que se pueden asignar a nuevos usuarios.Rieles: ¿Puedes pasar argumentos al método after_create?
Espero utilizar el método de devolución de llamada after_create para asignar la función al usuario. ¿Cómo puedo acceder al valor seleccionado del cuadro de selección en el método after_create?
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
flash[:notice] = 'User creation successful.'
format.html { redirect_to @user }
else
format.html { render :action => 'new' }
end
end
end
En el modelo de usuario que tienen:
after_create :assign_roles
def assign_roles
self.has_role! 'owner', self
# self.has_role! params[:role]
end
recibo un error porque el modelo no sabe qué papel es.
Sí, lo que desea es un "atributo virtual" para contener la selección de la casilla de verificación. Hay un gran Railscast sobre esto: http://railscasts.com/episodes/167-more-on-virtual-attributes –