радиокнопка рубин на рельсах

Мне было интересно, есть ли способ использовать переключатель, чтобы установить значение поля, которое является текстовым полем.

    <%= radio_button("demographics_questionaires", "gender", "Male")%> Male <br\>
    <%= radio_button("demographics_questionaires", "gender", "Female")%> Female <<br\>
    <%= radio_button("demographics_questionaires", "gender", "Other")%> 
    Other <%= f.text_field gender %> 

Приведенный выше код неверен, но что-то в этом роде.

Если выбран другой переключатель, я хочу, чтобы для пола было установлено значение text_field? Не знаете, как вы создаете эту ассоциацию?

Ex.

[радиокнопка] Мужчина

[переключатель] Женский

[переключатель] Другое __________________

где ____________ текстовое поле для ввода.

В конце концов, если пользователь выбирает мужской пол, я хочу, чтобы в базе данных сохранялось значение «Мужской», для женщины - «ЖЕНСКОЕ» или другое значение, вводимое пользователем.

Я как бы хотел обработать всю логику представления. Возможно ли это или это должно быть сделано в контроллере?

Любые советы приветствуются,


person darewreck    schedule 11.09.2010    source источник
comment
Чего вы ждете от другого пола?   -  person NullUserException    schedule 11.09.2010
comment
он она ? хаа трансгендер   -  person darewreck    schedule 11.09.2010
comment
@NullUserException, @ user391465: см. Здесь: sarahmei.com/blog/2010/ 26 ноября / отказ от отчуждения   -  person Zabba    schedule 27.12.2010


Ответы (1)


Проверьте этот код. Это может вам помочь

<%= form_for @user do |f| %>
  <%= f.radio_button :email, 'male' %> male<br />
  <%= f.radio_button :email, 'female' %> Female<br />
  <%= f.radio_button :email, 'others' %> others<br />
  <%= f.hidden_field :email  %>
<% end %>

скрипт jquery

<script type="text/javascript">

$("input[type='radio']").change(function(){ 
    if ($('input[type="radio"]:checked').val() == "others")
    {
        $('input[type="hidden"]').val('')   
        $('input[type="hidden"]').prop("type", "text");
    }
    else if ($('input[type="radio"]:checked').val() != "others")
    {
        $('input[type="hidden"]').prop("type", "hidden");
        $('input[type="hidden"]').val($('input[type="radio"]:checked').val())
    } 
});

person dsn raghavendra rao    schedule 29.11.2016