in rails, Qual è il valore restituito per una casella di controllo?

Voglio impostare un cookie scade dopo 1 anno se il “remember me” casella è selezionata.

Ho una casella di input di un form come:

<%= check_box_tag 'remember', '', false, :class => 'checkbox' %>

Quale sarà il valore quando viene pubblicato?

Sarà vero/falso o controllato o 1 o l’altro? Ho impostato il valore di ” helper.

OriginaleL’autore Blankman | 2010-10-31

3 Replies
  1. 7

    Nelle guide di documentazione delle API è utile spiegazione dei parametri mancanti e il campo nascosto un work-around:

    http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-check_box

    check_box(object_name, il metodo options = {}, checked_value = “1”, unchecked_value = “0”)

    Restituisce una casella di tag personalizzati per l’accesso a un attributo specificato (identificato dal metodo di un oggetto assegnato al modello (identificato da oggetto). Questo oggetto deve essere un’istanza di oggetto (@oggetto) e non un oggetto locale. E ‘ inteso che il metodo restituisce un numero intero e se il numero intero è sopra lo zero, quindi la casella di controllo è selezionata. Ulteriori opzioni del tag input può essere passato come un hash con le opzioni. Il checked_value di default è 1, mentre il valore predefinito unchecked_value è impostato a 0, il che è conveniente per i valori booleani.
    Gotcha

    Specifica HTML dice deselezionate le caselle di controllo non è riuscita, e così browser non li invia. Purtroppo questo introduce un trabocchetto: se un modello di Fattura è pagata bandiera, e nella forma che consente di modificare una fattura pagata l’utente deseleziona la casella di controllo, non pagato parametro viene inviato. Così, qualsiasi massa-assegnazione idioma come

    @fattura.update_attributes(params[:fattura])

    non aggiornare la bandiera.

    Per evitare questo, il figurante genera un ausiliario del campo nascosto prima della casella di controllo. Il campo nascosto ha lo stesso nome e gli attributi imitare un deselezionata la casella di controllo.

    In questo modo, il client invia solo il campo nascosto (che rappresentano la casella di controllo è deselezionata), o di entrambi i campi. Dal momento che la specifica HTML dice di coppie chiave/valore, devono essere inviati nello stesso ordine in cui appaiono nella forma, e i parametri di estrazione ottiene l’ultima occorrenza di qualsiasi ripetuto chiave nella stringa di query, che funziona per forme ordinarie.

    OriginaleL’autore earnold

  2. -4

    Si ottiene in azione params

    params['remember']

    Se se controllare di aver params con falsa come valore. Se non controllare che non params inviare alla tua azione.

    OriginaleL’autore shingara

Lascia un commento