2013-03-28 7 views
13

Sto solo provando a creare un semplice menu di selezione che ti porta a un URL specifico. Finora ho qualcosa di simile:Rails si formano utilizzando la richiesta GET: come rimuovere il pulsante e i parametri utf8?

# haml 
= form_tag new_something_path, method: :get do 
    = select_tag :type, options_for_select(my_array) 
    = submit_tag 'New Something' 

Tuttavia, quando presento la forma ottengo il parametro UTF8 così come un parametro di "impegnarsi" con il testo del pulsante.

Come rimuovere i parametri UTF8 e commit?

+0

Questo è stato risposto qui: http://stackoverflow.com/a/4488837/523568 Risposta breve: non è necessario rimuovere il parametro UTF-8. Inoltre, non è possibile eliminare il parametro commit, data quella parte del tag form incapsulante. Puoi cambiare il nome di submit_tag con 'submit_tag name:" whatever "," New Something "' –

+0

Sì, comprendo lo scopo del parametro UTF-8, ma in questo caso non ne ho bisogno perché so che i valori del modulo saranno non includere mai caratteri speciali. Quindi mi piacerebbe ancora sapere come rimuoverlo. – Andrew

risposta

35

Rimozione del commit param è relativamente semplice, è necessario specificare che l'ingresso non ha un nome:

submit_tag 'New Something', name: nil 

Per quanto riguarda l'UTF-8 param ... serve uno scopo importante. Una volta capito the purpose of the Rails UTF-8 param, e per qualche ragione è ancora necessario per rimuoverlo, la soluzione è più facile di quanto si pensi ... basta non usare l'helper form_tag:

# haml 
%form{action: new_something_path, method: 'get'} 
    = select_tag :type, options_for_select(my_array) 
    = submit_tag 'New Something', name: nil 
+9

In rails 4.1 ha introdotto una nuova opzione per form_tag - enforce_utf8. Puoi impostarlo su false. – Dmitry

+0

ottima risposta btw –

Problemi correlati