2008-10-21 20 views
17

¿Hay alguna manera fácil de que los ayudantes de formulario configuren el parámetro tabindex de forma automática al usar ayudantes de formulario en Rails?Método automático para establecer el tabindex utilizando formularios auxiliares

Básicamente, no quiero tener que configurar manualmente el índice de pestañas en cada elemento del formulario al crear formularios (sigo olvidando actualizarlos cuando cambio cosas). La mayoría de los formularios que escribo son básicamente una lista de campos. El índice de pestañas debe estar en el orden en que están definidas. Idealmente, establecería el índice inicial en la llamada form_for y todo lo demás sería manejado por mí.

¿Alguien sabe cómo hacer esto?

Respuesta

31

generalmente agrego un método como este para ApplicationHelper

def autotab 
    @current_tab ||= 0 
    @current_tab += 1 
end 

Luego, en mi punto de vista me haga llamadas al ayudante con un :tabindex => autotab así:

<%= text_field "post", "login",:tabindex => autotab, :value => @login %> 

También puede modificar todo el text_field , check_box, métodos uno a la vez para agregar el tabindex de forma automática, agregando algo como esto a su ayudante de aplicación: (no probado pero entiendes el punto)

def text_field_with_tabindex(*args) 
    options = args.last 
    options[:tabindex] = autotab if options.is_a?(Hash) && options[:tabindex].nil? 

    text_field_without_tabindex(*args) 
end 

def self.included(base) 
    base.class_eval do 
    alias_method_chain :text_field, :tabindex 
    end 
end 

que podrían ser más problemático de lo que vale

+0

tengo uso de variables locales en lugar de variable de instancia va a por favor me explique por qué no su trabajo si tomo CURRENT_TAB en lugar de @current_tab – railslearner

Cuestiones relacionadas