2012-08-30 18 views
5

Jestem całkiem nowy dla railsów i jest to również mój pierwszy post, ale próbuję utworzyć simple_form na stronie widoku, która powinna być stroną z ustawieniami dla niektórych użytkowników i już szukałem przez 2 dni dla odpowiedź i nigdzie jej nie mogę znaleźć.szyny, simple_form, jak zaktualizować przyciski radiowe z wybraną opcją po zapisaniu?

<%= f.input :gender, label: 'What is your gender?', collection: [ ['M', 'Male' ], ['F', 'Female'] ], as: :radio_buttons, label_method: :last, value_method: :first, checked: 'M', item_wrapper_class: 'inline'%> 

To moja etykieta wejście i jedyną opcją jest tak daleko, aby ustawić: zaznaczone => „M”, tak aby po zapisaniu ustawień użytkowników zostanie wybrany przycisk radiowy (ale to nie będzie poprawna jeśli wybieram płeć "Żeńską", ponieważ po zapisaniu strony Ustawienia domyślnie wybrany zostanie przycisk "Mężczyzna").

Czy istnieje sposób użycia przycisków radiowych w prostej formie (lub nawet liście rozwijanej), aby po zapisaniu strony płeć pozostała wybrana?

Odpowiedz

16

Spróbuj użyć płeć użytkownika atrybut zamiast „M” fo sprawdzone:

<%= f.input :gender, label: 'What is your gender?', collection: [ ['M', 'Male' ], ['F', 'Female'] ], as: :radio_buttons, label_method: :last, value_method: :first, checked: @user.gender, item_wrapper_class: 'inline'%> 
+0

Bardzo dziękuję za szybką odpowiedź, która powinna rozwiązać mój problem – ma3x

+0

Ten odpowiedział na moje pytanie, jak dobrze. Ale w jaki sposób zapobiec temu, aby formularz był domyślnie zaznaczony w widoku edycji? Lub, w inny sposób, w jaki sposób mamy tę zaznaczoną opcję tylko "nowe", a nie "edytować"? – cpursley

+0

cporsely jeden sposób to zrobić (domyślnie do Male w "nowy" i nic w "edycji"): ..., sprawdzone: params [: akcja] == "nowy"? "M": zero – danebez

Powiązane problemy